Message Boards Message Boards

[WSS22] A study in proof space Topology

POSTED BY: Richard Charette
4 Replies

Absolutely! I would love to help. Where is the update going to be on? Where is my contact info? You can have my deansgladish@gmail.com. You can even have my phone number! 224-306-4486. Try dgladish3@gatech.edu, please!

POSTED BY: Dean Gladish

I have not given up on this, just last month was busy for me to make any big updates, but by the start of this year, I will continue slow updates on this project as I see this as ongoing. If you wish to help you can, I just need your contact information.

POSTED BY: Richard Charette

Oh Richard we might have missed a lot of lectures and things we needed to understand this project, but it's okay because we've generated this entailment structure and constructed some equivalence to points... and the structure of future points within them.

Richard 1

This truly is a study in the axioms' proof graphs, in proof space topology...

Richard 2

# <-> b & /@ {{a, a}, {a}}

Richard 3

With these two-way rules you can just see how the under-lining features that correlate with Boolean and the other systems, some of them seem like randomness because something else is going on mathematically.

ResourceFunction[
ResourceObject[<|
   "Name" -> "TwoWayRuleNestGraph", "UUID" -> 
    "98cc7a51-abf1-4f9f-a0dd-542056ccad73", "ResourceType" -> 
    "Function", "ResourceLocations" -> {
CloudObject[
      "https://www.wolframcloud.com/obj/wolframphysics/Resources/98c/\
98cc7a51-abf1-4f9f-a0dd-542056ccad73"]}, "Version" -> None, 
    "DocumentationLink" -> 
    URL["https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayRuleNestGraph"], "ExampleNotebookData" -> Automatic, 
    "FunctionLocation" -> 
    CloudObject[
     "https://www.wolframcloud.com/obj/wolframphysics/Resources/98c/\
98cc7a51-abf1-4f9f-a0dd-542056ccad73/download/DefinitionData"], 
    "ShortName" -> "TwoWayRuleNestGraph", "SymbolName" -> 
    "FunctionRepository`$98cc7a51abf14f9fa0dd542056ccad73`\
TwoWayRuleNestGraph"|>]][
 x_\[SmallCircle] 
   y_ <-> (x_\[SmallCircle]y_)\[SmallCircle]x_, (a\[SmallCircle]b)\
\[SmallCircle]a, 2, 
 GraphLayout -> {"LayeredDigraphEmbedding", 
   "RootVertex" -> (a\[SmallCircle]b)\[SmallCircle]a}, 
 ImageSize -> Scaled[0.8`], AspectRatio -> 1/3]

Two-Way Rule

It's like how in Rulial space you get beamed around like the disjointed unions that exist in the union graph; for example it's not really random, since the cycles will be different at various rules.

ResourceFunction[
ResourceObject[<|
   "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
    "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
    "Function", "ResourceLocations" -> {
CloudObject[
      "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
    "DocumentationLink" -> 
    URL["https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
    "FunctionLocation" -> 
    CloudObject[
     "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
    "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
    "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{"B" <-> "BB"}, 2, "Sorting" -> True,
  "EventDeduplication" -> True]

Non-abelian

g = With[{g = ResourceFunction[
ResourceObject[<|
      "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
       "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
       "Function", "ResourceLocations" -> {
CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
       "DocumentationLink" -> 
       URL[
        "https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
       "FunctionLocation" -> 
       CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
       "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
       "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{"AB" <-> "B"}, 3, "Sorting" -> True,
     VertexSize -> .75, Sequence[
    "EventDeduplication" -> True, "TokenLabeling" -> False, 
     AspectRatio -> 0.5, VertexSize -> 0.2, ImageSize -> Full]]}, 
 With[{proof = ResourceFunction[
ResourceObject[<|
       "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
        "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
        "Function", "Version" -> None, "FunctionLocation" -> 
        CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
        "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
        "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
        URL[
         "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]]@
     First@ResourceFunction[
ResourceObject[<|
         "Name" -> "FindTokenEventProof", "UUID" -> 
          "a328bf50-d269-4df6-829a-11f247a17a2e", "ResourceType" -> 
          "Function", "Version" -> None, "FunctionLocation" -> 
          CloudObject[
           "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e/download/DefinitionData"], 
          "ShortName" -> "FindTokenEventProof", "SymbolName" -> 
          "FunctionRepository`$a328bf50d2694df6829a11f247a17a2e`\
FindTokenEventProof", "ResourceLocations" -> {
CloudObject[
            "https://www.wolframcloud.com/obj/wolframphysics/\
Resources/a32/a328bf50-d269-4df6-829a-11f247a17a2e"]}, 
          "DocumentationLink" -> 
          URL[
           "https://www.wolframcloud.com/obj/wolframphysics/\
FindTokenEventProof"], "ExampleNotebookData" -> Automatic|>]][
       g, {"AB" <-> "B"}, "AAAB" <-> "AAB"]},
  HighlightGraph[ResourceFunction[
ResourceObject[<|
      "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
       "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
       "Function", "Version" -> None, "FunctionLocation" -> 
       CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
       "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
       "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
       URL[
        "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]]@g, 
   Style[Subgraph[ResourceFunction[
ResourceObject[<|
        "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
         "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
         "Function", "Version" -> None, "FunctionLocation" -> 
         CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
         "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
         "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
           "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
         URL[
          "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]]@g, 
     proof],
    Arrowheads[0.02],
    Directive[Opacity[0.9`], Hue[0.06, 1, 1], Arrowheads[0.02`], 
     Thickness[0.005`]]], ImageSize -> Scaled[.8]]]]

The Path

And then we can actually delete the edges! When you plot the line graph,

EdgeDelete[LineGraph[g], 
 from_ \[DirectedEdge] to_ /; 
  ContainsNone[events[[to]]["Destroyed"], events[[from]]["Created"]]]

First Graph

LineGraph[g, GraphLayout -> "LayeredDigraphEmbedding"]

Line Graph

It's the typological space that is homotopy equivalent... that is apart of the fundamental group.. let's do more k-cycles.

Table[With[{h = ResourceFunction[
ResourceObject[<|
       "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
        "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
        "Function", "ResourceLocations" -> {
CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
        "DocumentationLink" -> 
        URL[
         "https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
        "FunctionLocation" -> 
        CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
        "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
        "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{"AAB" <-> "B"}, 3, 
     "Sorting" -> True, VertexSize -> .75, Sequence[
     "EventDeduplication" -> True, "TokenLabeling" -> False, 
      AspectRatio -> 0.5, VertexSize -> 0.2, ImageSize -> Full]]}, 
  With[{proof = ResourceFunction[
ResourceObject[<|
        "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
         "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
         "Function", "Version" -> None, "FunctionLocation" -> 
         CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
         "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
         "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
           "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
         URL[
          "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]]@
      First@ResourceFunction[
ResourceObject[<|
          "Name" -> "FindTokenEventProof", "UUID" -> 
           "a328bf50-d269-4df6-829a-11f247a17a2e", "ResourceType" -> 
           "Function", "Version" -> None, "FunctionLocation" -> 
           CloudObject[
            "https://www.wolframcloud.com/obj/wolframphysics/\
Resources/a32/a328bf50-d269-4df6-829a-11f247a17a2e/download/\
DefinitionData"], "ShortName" -> "FindTokenEventProof", "SymbolName" -> 
           "FunctionRepository`$a328bf50d2694df6829a11f247a17a2e`\
FindTokenEventProof", "ResourceLocations" -> {
CloudObject[
             "https://www.wolframcloud.com/obj/wolframphysics/\
Resources/a32/a328bf50-d269-4df6-829a-11f247a17a2e"]}, 
           "DocumentationLink" -> 
           URL[
            "https://www.wolframcloud.com/obj/wolframphysics/\
FindTokenEventProof"], "ExampleNotebookData" -> Automatic|>]][
        h, {"AAB" <-> "B"}, vertlist[[i]]]},
   HighlightGraph[ResourceFunction[
ResourceObject[<|
       "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
        "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
        "Function", "Version" -> None, "FunctionLocation" -> 
        CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
        "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
        "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
        URL[
         "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]]@h, 
    Style[Subgraph[ResourceFunction[
ResourceObject[<|
         "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
          "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
          "Function", "Version" -> None, "FunctionLocation" -> 
          CloudObject[
           "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
          "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
          "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
            "https://www.wolframcloud.com/obj/wolframphysics/\
Resources/ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, 
          "DocumentationLink" -> 
          URL[
           "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]]@h, 
      proof],
     Arrowheads[0.02],
     Directive[Opacity[0.9`], Hue[0.06, 1, 1], Arrowheads[0.02`], 
      Thickness[0.005`]]], ImageSize -> Scaled[.8]]]], {i, 2, 11}]

h Original

That is so cool

It's so cool how you can generate things like the denotation of the list of enclosed parenthesis describing the permutations, varying the spokes on the graph chaotically as it goes around to complete a circuit and show the organization...

h = ResourceFunction[
ResourceObject[<|
    "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
     "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
     "Function", "ResourceLocations" -> {
CloudObject[
       "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
     "DocumentationLink" -> 
     URL[
      "https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
     "FunctionLocation" -> 
     CloudObject[
      "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
     "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
     "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{"AAB" <-> "B"}, 3, 
  "Sorting" -> True, VertexSize -> .75, "EventDeduplication" -> True, 
  "TokenLabeling" -> False, AspectRatio -> 0.5`, VertexSize -> 0.2`, 
  ImageSize -> Full]
vertlist = VertexList[h]
Table[Row@Module[{g = ResourceFunction[
ResourceObject[<|
        "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
         "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
         "Function", "ResourceLocations" -> {
CloudObject[
           "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
         "DocumentationLink" -> 
         URL[
          "https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
         "FunctionLocation" -> 
         CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
         "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
         "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{"AB" <-> "B"}, 3, "Sorting" -> True,
       Sequence[
      VertexSize -> 0.75, "EventDeduplication" -> True, 
       "TokenLabeling" -> False]], proofs},
   proofs = ResourceFunction[
ResourceObject[<|
       "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
        "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
        "Function", "Version" -> None, "FunctionLocation" -> 
        CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
        "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
        "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
        URL[
         "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]] /@ 
     ResourceFunction[
ResourceObject[<|
        "Name" -> "FindTokenEventProof", "UUID" -> 
         "a328bf50-d269-4df6-829a-11f247a17a2e", "ResourceType" -> 
         "Function", "Version" -> None, "FunctionLocation" -> 
         CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e/download/DefinitionData"], 
         "ShortName" -> "FindTokenEventProof", "SymbolName" -> 
         "FunctionRepository`$a328bf50d2694df6829a11f247a17a2e`\
FindTokenEventProof", "ResourceLocations" -> {
CloudObject[
           "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e"]}, "DocumentationLink" -> 
         URL[
          "https://www.wolframcloud.com/obj/wolframphysics/\
FindTokenEventProof"], "ExampleNotebookData" -> Automatic|>]][
      g, {"AB" <-> "B"}, vertlist[[i]], 8];
   g = ResourceFunction[
ResourceObject[<|
       "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
        "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
        "Function", "Version" -> None, "FunctionLocation" -> 
        CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
        "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
        "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
        URL[
         "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]]@g;
   HighlightGraph[g, 
      Style[Subgraph[g, #], Directive[ResourceFunction[
ResourceObject[<|
           "Name" -> "MetamathematicsStyleData", "UUID" -> 
            "f8f6fa82-4753-4c07-acb7-8d910780ee4e", "ResourceType" -> 
            "Function", "Version" -> None, "FunctionLocation" -> 
            CloudObject[
             "https://www.wolframcloud.com/obj/wolframphysics/\
Resources/f8f/f8f6fa82-4753-4c07-acb7-8d910780ee4e/download/\
DefinitionData"], "ShortName" -> "MetamathematicsStyleData", 
            "SymbolName" -> 
            "FunctionRepository`$f8f6fa8247534c07acb78d910780ee4e`\
MetamathematicsStyleData", "ResourceLocations" -> {
CloudObject[
              "https://www.wolframcloud.com/obj/wolframphysics/\
Resources/f8f/f8f6fa82-4753-4c07-acb7-8d910780ee4e"]}, 
            "DocumentationLink" -> 
            URL[
             "https://www.wolframcloud.com/obj/wolframphysics/\
MetamathematicsStyleData"], "ExampleNotebookData" -> Automatic|>]][
         "ProofPathStyle"], Thick]], VertexSize -> 1.4`, 
      ImageSize -> 120, AspectRatio -> 0.8`] & /@ proofs], {i, 2, 11}]

The long way

It's a long way, making these proof path graphs that are used multiple times using a graph union and now, the base axioms can prove the structure preserved from different initial conditions, showing its topological features...

g = ResourceFunction[
ResourceObject[<|
     "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
      "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
      "Function", "ResourceLocations" -> {
CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
      "DocumentationLink" -> 
      URL[
       "https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
      "FunctionLocation" -> 
      CloudObject[
       "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
      "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
      "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{"C" <-> "ABC"}, 3, 
   "Sorting" -> True, Sequence[
   VertexSize -> 0.75, "EventDeduplication" -> True, "TokenLabeling" -> 
    False]];
proofs = ResourceFunction[
ResourceObject[<|
     "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
      "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
      "Function", "Version" -> None, "FunctionLocation" -> 
      CloudObject[
       "https://www.wolframcloud.com/obj/wolframphysics/Resources/ea2/\
ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
      "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
      "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
      URL[
       "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]] /@ 
   ResourceFunction[
ResourceObject[<|
      "Name" -> "FindTokenEventProof", "UUID" -> 
       "a328bf50-d269-4df6-829a-11f247a17a2e", "ResourceType" -> 
       "Function", "Version" -> None, "FunctionLocation" -> 
       CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e/download/DefinitionData"], 
       "ShortName" -> "FindTokenEventProof", "SymbolName" -> 
       "FunctionRepository`$a328bf50d2694df6829a11f247a17a2e`\
FindTokenEventProof", "ResourceLocations" -> {
CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e"]}, "DocumentationLink" -> 
       URL[
        "https://www.wolframcloud.com/obj/wolframphysics/\
FindTokenEventProof"], "ExampleNotebookData" -> Automatic|>]][
    g, {"C" <-> "ABC"}, "ABABABABABC" <-> "C", 8];
proofgraphs = Graph[#] & /@ proofs;
HighlightGraph[GraphUnion @@ proofgraphs, proofgraphs]

The diamond shape

During our conventions we usually focused on the enumeration of entailment cones that are accumulative & non-accumulative using cosubstitution & substitution... helping us to understand these axiom systems and the process by which the theorems are reached. Therefore we shouldn't hesitate to post the non-symbolic code here...

With[{h = 
   First@
    WeaklyConnectedGraphComponents[
     RandomGraph[{20, 20}, VertexLabels -> Automatic]]}, 
 HighlightGraph[
  h, PathGraph[FindShortestPath[h, 15, 2]]
  ]]

[pseudo----

Taking a random sample, showing off the k-cycles in these graphs.. what are they for?

h = ResourceFunction[
ResourceObject[<|
     "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
      "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
      "Function", "ResourceLocations" -> {
CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
      "DocumentationLink" -> 
      URL[
       "https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
      "FunctionLocation" -> 
      CloudObject[
       "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
      "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
      "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{"C" <-> "ABC"}, 3, 
   "Sorting" -> True, VertexSize -> 1.4`, 
   "EventDeduplication" -> True, "TokenLabeling" -> True, 
   AspectRatio -> 0.5`];
proofs = ResourceFunction[
ResourceObject[<|
     "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
      "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
      "Function", "Version" -> None, "FunctionLocation" -> 
      CloudObject[
       "https://www.wolframcloud.com/obj/wolframphysics/Resources/ea2/\
ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
      "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
      "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
      URL[
       "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]] /@ 
   ResourceFunction[
ResourceObject[<|
      "Name" -> "FindTokenEventProof", "UUID" -> 
       "a328bf50-d269-4df6-829a-11f247a17a2e", "ResourceType" -> 
       "Function", "Version" -> None, "FunctionLocation" -> 
       CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e/download/DefinitionData"], 
       "ShortName" -> "FindTokenEventProof", "SymbolName" -> 
       "FunctionRepository`$a328bf50d2694df6829a11f247a17a2e`\
FindTokenEventProof", "ResourceLocations" -> {
CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e"]}, "DocumentationLink" -> 
       URL[
        "https://www.wolframcloud.com/obj/wolframphysics/\
FindTokenEventProof"], "ExampleNotebookData" -> Automatic|>]][
    h, {"C" <-> "ABC"}, "ABABABC" <-> "C", 8];
proofgraphs = Graph[#] & /@ proofs;
HighlightGraph[GraphUnion @@ proofgraphs, proofgraphs]

Proof Graphs

These are some beautiful proof graphs that help us understand axiom systems and entailment cones, and the interactions in the causal quantum event graph.

ResourceFunction[
ResourceObject[<|
   "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
    "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
    "Function", "ResourceLocations" -> {
CloudObject[
      "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
    "DocumentationLink" -> 
    URL["https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
    "FunctionLocation" -> 
    CloudObject[
     "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
    "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
    "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][
 {"AAB" <-> "B"},
 3,
 "Sorting" -> True,
 "EventDeduplication" -> True,
 "TokenLabeling" -> False,
 AspectRatio -> 0.5`,
 VertexSize -> 1.4`,
 ImageSize -> Full,
 VertexLabels :> hi_ :> hi
 ]

Labels

Your post brings it home that you are supposed to study the theorems and not the proofs. It also helps that during our meetings we did a lot of white-boarding exploring these scintillating entailment structures and you were available for that. This is the most interesting project!

rules = Flatten[
  With[{strings = 
     Flatten[
      Table[StringJoin[#] & /@ Tuples[{"A", "B"}, i], {i, 1, 3}]]}, 
   Table[
    strings[[i]] <-> strings[[j]], {i, 1, Length[strings]}, {j, 1, 
     Length[strings]}]]]

Ruliade

As long as the spokes on the graph vary by cycle length as it goes around we can complete the circuit, chaotically. If we take these rules,

rules = Flatten[
  With[{strings = 
     Flatten[
      Table[
       StringJoin[#] & /@ Tuples[{"A", "B", "C"}, i], {i, 1, 7}]]}, 
   Table[
    strings[[i]] <-> strings[[j]], {i, 1, Length[strings]}, {j, 1, 
     Length[strings]}]]]
VertexPop[g_, patt_, opts___] := 
 EdgeAdd[VertexDelete[g, patt], 
  Catenate[
   DirectedEdge @@@ 
      Tuples[{VertexInComponent[g, #, {1}], 
        VertexOutComponent[g, #, {1}]}] & /@ VertexList[g, patt]], 
  opts, Options[g]]
h = ResourceFunction[
ResourceObject[<|
     "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
      "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
      "Function", "ResourceLocations" -> {
CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
      "DocumentationLink" -> 
      URL[
       "https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
      "FunctionLocation" -> 
      CloudObject[
       "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
      "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
      "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{rules[[3]]}, 3, "Sorting" -> True, 
   VertexSize -> 0.75`, "EventDeduplication" -> False, 
   "TokenLabeling" -> True, FrameLabel -> Automatic, 
   Editable -> Automatic, Ticks -> Automatic, Background -> Automatic,
    FrameStyle -> Automatic];
graphs = 
 Table[Module[{proofs},
   proofs = ResourceFunction[
ResourceObject[<|
       "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
        "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
        "Function", "Version" -> None, "FunctionLocation" -> 
        CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
        "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
        "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
        URL[
         "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]] /@ 
     ResourceFunction[
ResourceObject[<|
        "Name" -> "FindTokenEventProof", "UUID" -> 
         "a328bf50-d269-4df6-829a-11f247a17a2e", "ResourceType" -> 
         "Function", "Version" -> None, "FunctionLocation" -> 
         CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e/download/DefinitionData"], 
         "ShortName" -> "FindTokenEventProof", "SymbolName" -> 
         "FunctionRepository`$a328bf50d2694df6829a11f247a17a2e`\
FindTokenEventProof", "ResourceLocations" -> {
CloudObject[
           "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e"]}, "DocumentationLink" -> 
         URL[
          "https://www.wolframcloud.com/obj/wolframphysics/\
FindTokenEventProof"], "ExampleNotebookData" -> Automatic|>]][
      h, {rules[[3]]}, vertlist[[i]], 8];
   proofgraphs = VertexPop[#, {"Event", ___}] & /@ proofs;
   UndirectedGraph[
    HighlightGraph[GraphUnion @@ proofgraphs, proofgraphs]]], {i, 8, 
   Length[vertlist]}]

cycles = FindCycle[#, {Length[VertexList[#]]}] & /@ graphs

g = GraphUnion @@ 
 MapIndexed[
  VertexReplace[Graph[Flatten[#]], 
    v : Except["A" \[LeftRightArrow] "AAA", 
       "A" \[LeftRightArrow] "AAAA"] :> {v, #2[[0]]}] &, cycles]

The culmination?

.. and we can compare the cycle depending on which loop of the figure 8 you start on. It's fundamentally non-abelian and transformative, seeing the interconnectivity of both loops... it will be phenomenal whenever that is revealed to us, at a later date.

GraphUnion @@ 
 MapIndexed[
  VertexReplace[Graph[Flatten[#]], 
    v : Except["A" \[LeftRightArrow] "AA"] :> {v, #2[[1]]}] &, cycles]

Cycles are Labelled

..then we can see just how chaotic these things really are, how it makes it possible to do these disjointed unions.

GraphDisjointUnion @@ (Graph[Flatten[#]] & /@ cycles)

Accumulative Entailment Structure

It seems like it's by defining a base point, that you can find the proof paths...

HighlightGraph[g, FindCycle[g, {Length[VertexList[g]]}]]

Highlight Graph

ResourceFunction[
ResourceObject[<|
   "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
    "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
    "Function", "ResourceLocations" -> {
CloudObject[
      "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
    "DocumentationLink" -> 
    URL["https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
    "FunctionLocation" -> 
    CloudObject[
     "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
    "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
    "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{rules[[3]]}, 1, 
 "Sorting" -> True, Sequence[
 VertexSize -> 0.75, "EventDeduplication" -> True, "TokenLabeling" -> 
  False]]

Sorting

h = ResourceFunction[
ResourceObject[<|
     "Name" -> "TwoWayStringTokenEventGraph", "UUID" -> 
      "6efe33fc-c0fa-4d4f-8198-1e9db29ac03e", "ResourceType" -> 
      "Function", "ResourceLocations" -> {
CloudObject[
        "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
6ef/6efe33fc-c0fa-4d4f-8198-1e9db29ac03e"]}, "Version" -> None, 
      "DocumentationLink" -> 
      URL[
       "https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayStringTokenEventGraph"], "ExampleNotebookData" -> Automatic, 
      "FunctionLocation" -> 
      CloudObject[
       "https://www.wolframcloud.com/obj/wolframphysics/Resources/6ef/\
6efe33fc-c0fa-4d4f-8198-1e9db29ac03e/download/DefinitionData"], 
      "ShortName" -> "TwoWayStringTokenEventGraph", "SymbolName" -> 
      "FunctionRepository`$6efe33fcc0fa4d4f81981e9db29ac03e`\
TwoWayStringTokenEventGraph"|>]][{rules[[3]]}, 3, "Sorting" -> True, 
   Sequence[
   VertexSize -> 0.75, "EventDeduplication" -> True, "TokenLabeling" -> 
    False]];
graphs = 
 Table[Module[{proofs},
   proofs = ResourceFunction[
ResourceObject[<|
       "Name" -> "LiteralizeTwoWayRules", "UUID" -> 
        "ea258343-71ec-45e9-ac49-1816affc7a92", "ResourceType" -> 
        "Function", "Version" -> None, "FunctionLocation" -> 
        CloudObject[
         "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92/download/DefinitionData"], 
        "ShortName" -> "LiteralizeTwoWayRules", "SymbolName" -> 
        "FunctionRepository`$ea25834371ec45e9ac491816affc7a92`\
LiteralizeTwoWayRules", "ResourceLocations" -> {
CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
ea2/ea258343-71ec-45e9-ac49-1816affc7a92"]}, "DocumentationLink" -> 
        URL[
         "https://www.wolframcloud.com/obj/wolframphysics/\
LiteralizeTwoWayRules"], "ExampleNotebookData" -> Automatic|>]] /@ 
     ResourceFunction[
ResourceObject[<|
        "Name" -> "FindTokenEventProof", "UUID" -> 
         "a328bf50-d269-4df6-829a-11f247a17a2e", "ResourceType" -> 
         "Function", "Version" -> None, "FunctionLocation" -> 
         CloudObject[
          "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e/download/DefinitionData"], 
         "ShortName" -> "FindTokenEventProof", "SymbolName" -> 
         "FunctionRepository`$a328bf50d2694df6829a11f247a17a2e`\
FindTokenEventProof", "ResourceLocations" -> {
CloudObject[
           "https://www.wolframcloud.com/obj/wolframphysics/Resources/\
a32/a328bf50-d269-4df6-829a-11f247a17a2e"]}, "DocumentationLink" -> 
         URL[
          "https://www.wolframcloud.com/obj/wolframphysics/\
FindTokenEventProof"], "ExampleNotebookData" -> Automatic|>]][
      h, {rules[[3]]}, vertlist[[i]], 8];
   proofgraphs = # & /@ proofs;
   UndirectedGraph[
    HighlightGraph[GraphUnion @@ proofgraphs, proofgraphs]]], {i, 2, 
   Length[vertlist]}]

Cycles

These proof paths are from that time at our centennial meet-up that signifies our approach to finding cycles... how do you label your cycles?

UndirectedGraph[ResourceFunction[
ResourceObject[<|
    "Name" -> "TwoWayRuleNestGraph", "UUID" -> 
     "98cc7a51-abf1-4f9f-a0dd-542056ccad73", "ResourceType" -> 
     "Function", "ResourceLocations" -> {
CloudObject[
       "https://www.wolframcloud.com/obj/wolframphysics/Resources/98c/\
98cc7a51-abf1-4f9f-a0dd-542056ccad73"]}, "Version" -> None, 
     "DocumentationLink" -> 
     URL[
      "https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayRuleNestGraph"], "ExampleNotebookData" -> Automatic, 
     "FunctionLocation" -> 
     CloudObject[
      "https://www.wolframcloud.com/obj/wolframphysics/Resources/98c/\
98cc7a51-abf1-4f9f-a0dd-542056ccad73/download/DefinitionData"], 
     "ShortName" -> "TwoWayRuleNestGraph", "SymbolName" -> 
     "FunctionRepository`$98cc7a51abf14f9fa0dd542056ccad73`\
TwoWayRuleNestGraph"|>]][
  x_\[SmallCircle] y_ <-> (y_\[SmallCircle]x_)\[SmallCircle]z_, 
  a\[SmallCircle]b, 4, Sequence[
  GraphLayout -> {
    "LayeredDigraphEmbedding", 
     "VertexLayerPosition" -> {4, 3, 2, 2, 1, 1, 1, 1, 1}}, 
   AspectRatio -> 1/3, ImageSize -> Scaled[0.85]]]]

Layered Digraph Embedding

ResourceFunction[
ResourceObject[<|
   "Name" -> "TwoWayRuleNestGraph", "UUID" -> 
    "98cc7a51-abf1-4f9f-a0dd-542056ccad73", "ResourceType" -> 
    "Function", "ResourceLocations" -> {
CloudObject[
      "https://www.wolframcloud.com/obj/wolframphysics/Resources/98c/\
98cc7a51-abf1-4f9f-a0dd-542056ccad73"]}, "Version" -> None, 
    "DocumentationLink" -> 
    URL["https://www.wolframcloud.com/obj/wolframphysics/\
TwoWayRuleNestGraph"], "ExampleNotebookData" -> Automatic, 
    "FunctionLocation" -> 
    CloudObject[
     "https://www.wolframcloud.com/obj/wolframphysics/Resources/98c/\
98cc7a51-abf1-4f9f-a0dd-542056ccad73/download/DefinitionData"], 
    "ShortName" -> "TwoWayRuleNestGraph", "SymbolName" -> 
    "FunctionRepository`$98cc7a51abf14f9fa0dd542056ccad73`\
TwoWayRuleNestGraph"|>]][
 x_\[SmallCircle] y_ <-> (y_\[SmallCircle]x_)\[SmallCircle]z_, 
 a\[SmallCircle]b, 5, 
 GraphLayout -> {"LayeredDigraphEmbedding", 
   "VertexLayerPosition" -> {4, 3, 2, 2, 1, 1, 1, 1, 1}}, 
 AspectRatio -> 1/3, ImageSize -> Scaled[0.85`]]

The layered digraph embedding.

The Layered Digraph Embedding

Length /@ 
 FindCycle[{UndirectedGraph@h, (b\[SmallCircle]a)\[SmallCircle]b}, {1,
    Infinity}]

GraphDisjointUnion @@ (PathGraph[#, DirectedEdges -> True] & /@ 
     FindPath[h, a\[SmallCircle]b, #, All, All]) & /@ 
 Rest@VertexList[h]

12

The lines dropping down

NestGraph[
 Catenate@
   Values@
    ResourceFunction["MultiReplace"][#, 
     a_\[CenterDot]b_ :> 
      Block[{$ModuleNumber = 1}, 
       Module[{c}, 
        a\[CenterDot](b\[CenterDot]c)]]] &, {a\[CenterDot]b}, 3, 
 VertexLabels -> Automatic]

The Percentages

Anyhow in exploring topological spaces you're good at the Wolfram Language... whether it's rock-climbing or entailment cones, you've really been a great partner in group theory, and so thanks for sharing. This has been A study in proof space Topology!

POSTED BY: Dean Gladish

enter image description here -- you have earned Featured Contributor Badge enter image description here Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: EDITORIAL BOARD
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract