Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Represent the abstract product of an arbitrary collection of objects in an abstract category
ResourceFunction["AbstractProduct"][ob,prod,proj,comp,id] represents the abstract product of the collection of objects ob, with product symbol prod, projection morphism names proj, composition symbol comp and identity symbol id. | |
ResourceFunction["AbstractProduct"][…,obuniv,morphuniv,morphuniq] represents an abstract product with a universal property characterized by the universal object obuniv, universal morphisms morphuniv and unique morphism morphuniq. | |
ResourceFunction["AbstractProduct"][assoc] represents an abstract product using the association of object list, product symbol, projection morphism list, composition symbol, identity symbol, universal object, universal morphism list and unique morphism assoc. | |
ResourceFunction["AbstractProduct"][…][AbstractCategory[…]] embeds an abstract product into the specified abstract category. | |
ResourceFunction["AbstractProduct"][ResourceFunction["AbstractProduct"][…],prod,comp,id] makes a new abstract product from an old product by imposing new product symbol prod, new composition symbol comp and new identity symbol id. |
"Objects" | list of objects in the abstract product |
"ObjectCount" | number of objects in the abstract product |
"MorphismAssociation" | association of morphism names/edges in the abstract product |
"MorphismNames" | list of names of morphisms in the abstract product |
"MorphismEdges" | list of directed edges associated to morphisms in the abstract product |
"MorphismCount" | number of morphisms in the abstract product |
"SimpleMorphismAssociation" | association of morphism names/edges in the abstract product with self-loops removed |
"SimpleMorphismNames" | list of names of morphisms in the abstract product with self-loops removed |
"SimpleMorphismEdges" | list of directed edges associated to morphisms in the abstract product with self-loops removed |
"SimpleMorphismCount" | number of morphisms in the abstract product with self-loops removed |
"UniversalObjects" | list of objects in the abstract product characterizing the universal property |
"UniversalObjectCount" | number of objects in the abstract product characterizing the universal property |
"UniversalMorphismAssociation" | association of morphism names/edges in the abstract product characterizing the universal property |
"UniversalMorphismNames" | list of names of morphisms in the abstract product characterizing the universal property |
"UniversalMorphismEdges" | list of directed edges associated to morphisms in the abstract product characterizing the universal property |
"UniversalMorphismCount" | number of morphisms in the abstract product characterizing the universal property |
"UniversalReducedMorphismAssociation" | association of morphism names/edges in the abstract product characterizing the universal property, modulo morphism equivalences |
"UniversalReducedMorphismNames" | list of names of morphisms in the abstract product characterizing the universal property, modulo morphism equivalences |
"UniversalReducedMorphismEdges" | list of directed edges associated to morphisms in the abstract product characterizing the universal property, modulo morphism equivalences |
"UniversalReducedMorphismCount" | number of morphisms in the abstract product characterizing the universal property, modulo morphism equivalences |
"UniversalSimpleMorphismAssociation" | association of morphism names/edges in the abstract product characterizing the universal property, with self-loops and multiedges removed |
"UniversalSimpleMorphismNames" | list of names of morphisms in the abstract product characterizing the universal property, with self-loops and multiedges removed |
"UniversalSimpleMorphismEdges" | list of directed edges associated to morphisms in the abstract product characterizing the universal property, with self-loops and multiedges removed |
"UniversalSimpleMorphismCount" | number of morphisms in the abstract product characterizing the universal property, with self-loops and multiedges removed |
"UniversalReducedSimpleMorphismAssociation" | association of morphism names/edges in the abstract product characterizing the universal property, with self-loops and multiedges removed, and modulo morphism equivalences |
"UniversalReducedSimpleMorphismNames" | list of names of morphisms in the abstract product characterizing the universal property, with self-loops and multiedges removed, and modulo morphism equivalences |
"UniversalReducedSimpleMorphismEdges" | list of directed edges associated to morphisms in the abstract product characterizing the universal property, with self-loops and multiedges removed, and modulo morphism equivalences |
"UniversalReducedSimpleMorphismCount" | number of morphisms in the abstract product characterizing the universal property, with self-loops and multiedges removed, and modulo morphism equivalences |
"ProductSymbol" | symbol used to denote products of objects (should be an operator of arbitrary arity) |
"CompositionSymbol" | symbol used to denote morphism composition (should be a binary operator) |
"IdentitySymbol" | symbol used to denote identity morphisms (should be a unary operator) |
"ProductCategory" | abstract category with morphisms representing the abstract product |
"UniversalProductCategory" | abstract category with morphisms characterizing the universal property of the abstract product |
"UniversalProductEquations" | list of equations implicitly imposed by the requirement that the universal property of the abstract product is satisfied |
"FullLabeledGraph" | directed graph form of the abstract product with labels on the morphisms |
"FullUnlabeledGraph" | directed graph form of the abstract product with no labels on the morphisms |
"SimpleLabeledGraph" | directed graph form of the abstract product, with self-loops removed, with labels on the morphisms |
"SimpleUnlabeledGraph" | directed graph form of the abstract product, with self-loops removed, with no labels on the morphisms |
"UniversalFullLabeledGraph" | directed graph form characterizing the universal property of the abstract product, with labels on the morphisms |
"UniversalFullUnlabeledGraph" | directed graph form characterizing the universal property of the abstract product, with no labels on the morphisms |
"UniversalReducedLabeledGraph" | directed graph form characterizing the universal property of the abstract product, modulo morphism equivalences, with labels on the morphisms |
"UniversalReducedUnlabeledGraph" | directed graph form characterizing the universal property of the abstract product, modulo morphism equivalences, with no labels on the morphisms |
"UniversalSimpleLabeledGraph" | directed graph form characterizing the universal property of the abstract product, with self-loops and multiedges removed, with labels on the morphisms |
"UniversalSimpleUnlabeledGraph" | directed graph form characterizing the universal property of the abstract product, with self-loops and multiedges removed, with no labels on the morphisms |
"UniversalReducedSimpleLabeledGraph" | directed graph form characterizing the universal property of the abstract product, with self-loops and multiedges removed, modulo morphism equivalences, with labels on the morphisms |
"UniversalReducedSimpleUnlabeledGraph" | directed graph form characterizing the universal property of the abstract product, with self-loops and multiedges removed, modulo morphism equivalences, with no labels on the morphisms |
"AssociationForm" | abstract product represented as an association of a list of objects, a product symbol, a list of projection morphism names, a composition symbol, an identity symbol, a universal object name, a list of universal morphism names and a unique morphism name |
"Properties" | list of properties |
Construct a simple abstract product of objects A and B:
In[1]:= | ![]() |
Out[1]= | ![]() |
Show the full directed graph with labels on the morphisms:
In[2]:= | ![]() |
Out[2]= | ![]() |
Show the full directed graph without labels on the morphisms:
In[3]:= | ![]() |
Out[3]= | ![]() |
Show the full directed graph characterizing the universal property with labels on the morphisms:
In[4]:= | ![]() |
Out[4]= | ![]() |
Show the full directed graph characterizing the universal property without labels on the morphisms:
In[5]:= | ![]() |
Out[5]= | ![]() |
Show the Association of morphisms:
In[6]:= | ![]() |
Out[6]= | ![]() |
Show the Association of (quantified) morphisms characterizing the universal property:
In[7]:= | ![]() |
Out[7]= | ![]() |
Show the list of directed edges characterizing the universal property:
In[8]:= | ![]() |
Out[8]= | ![]() |
Show the list of equations characterizing the universal property:
In[9]:= | ![]() |
Out[9]= | ![]() |
Construct an abstract product of objects U, V and W, but with product symbol ⊗; projection morphisms p1, p2 and p3; and composition and identity symbols ⊕ and ─ and with a universal property characterized by universal object Q; universal morphisms m1, m2 and m3; and unique morphism u:
In[10]:= | ![]() |
Out[10]= | ![]() |
Show the full directed graph characterizing the universal property with labels on the morphisms:
In[11]:= | ![]() |
Out[11]= | ![]() |
Show the full directed graph characterizing the universal property without labels on the morphisms:
In[12]:= | ![]() |
Out[12]= | ![]() |
Show the reduced directed graph characterizing the universal property with all equivalences between morphisms imposed and with labels on the morphisms:
In[13]:= | ![]() |
Out[13]= | ![]() |
Show the reduced directed graph characterizing the universal property without labels on the morphisms:
In[14]:= | ![]() |
Out[14]= | ![]() |
Show the Association of morphisms characterizing the universal property with all equivalences between morphisms imposed:
In[15]:= | ![]() |
Out[15]= | ![]() |
Show the list of equations characterizing the universal property:
In[16]:= | ![]() |
Out[16]= | ![]() |
Show the association form of the abstract product:
In[17]:= | ![]() |
Out[17]= | ![]() |
Construct an abstract product of objects X and Y:
In[18]:= | ![]() |
Out[18]= | ![]() |
Construct an abstract category consisting of morphisms to X and Y from some common object Z:
In[19]:= | ![]() |
Out[19]= | ![]() |
Embed the abstract product into the abstract category (in such a way that the universal property is satisfied):
In[20]:= | ![]() |
Out[20]= | ![]() |
In[21]:= | ![]() |
Out[21]= | ![]() |
Validate that the universal property is indeed satisfied:
In[22]:= | ![]() |
Out[22]= | ![]() |
In[23]:= | ![]() |
Out[23]= | ![]() |
Construct a more complicated abstract category consisting of additional morphisms to X and Y from a further common object W:
In[24]:= | ![]() |
Out[24]= | ![]() |
Embed the abstract product into the more complicated abstract category and validate that the universal property is still satisfied:
In[25]:= | ![]() |
Out[25]= | ![]() |
In[26]:= | ![]() |
Out[26]= | ![]() |
In[27]:= | ![]() |
Out[27]= | ![]() |
In[28]:= | ![]() |
Out[28]= | ![]() |
Compute minimal abstract category representations of the abstract product and its defining universal property, respectively:
In[29]:= | ![]() |
Out[29]= | ![]() |
In[30]:= | ![]() |
Out[30]= | ![]() |
Abstract products can be constructed from a list of objects, a product symbol, a list of names of projection morphisms, a composition symbol and an identity symbol:
In[31]:= | ![]() |
Out[31]= | ![]() |
In[32]:= | ![]() |
Out[32]= | ![]() |
A universal object symbol, a list of names of universal morphisms and a unique morphism symbol can also be specified in order to characterize the universal property fully:
In[33]:= | ![]() |
Out[33]= | ![]() |
In[34]:= | ![]() |
Out[34]= | ![]() |
Abstract products can also be constructed directly from a list of objects and a list of names of projection morphisms (plus composition and identity symbols):
In[35]:= | ![]() |
Out[35]= | ![]() |
In[36]:= | ![]() |
Out[36]= | ![]() |
Or from an object list with product, composition and identity symbols alone:
In[37]:= | ![]() |
Out[37]= | ![]() |
In[38]:= | ![]() |
Out[38]= | ![]() |
If any of these arguments is not explicitly specified, the appropriate defaults are assumed automatically:
In[39]:= | ![]() |
Out[39]= | ![]() |
In[40]:= | ![]() |
Out[40]= | ![]() |
New product, composition and identity symbols can be specified for any existing abstract product:
In[41]:= | ![]() |
Out[41]= | ![]() |
In[42]:= | ![]() |
Out[42]= | ![]() |
From an explicit association:
In[43]:= | ![]() |
Out[43]= | ![]() |
Construct an abstract product of objects X, Y, Z and W:
In[44]:= | ![]() |
Out[44]= | ![]() |
Show the list of properties:
In[45]:= | ![]() |
Out[45]= | ![]() |
Show the list of objects in the abstract product:
In[46]:= | ![]() |
Out[46]= | ![]() |
Show the number of objects in the abstract product:
In[47]:= | ![]() |
Out[47]= | ![]() |
Show the association of morphisms in the abstract product:
In[48]:= | ![]() |
Out[48]= | ![]() |
Show the list of names of morphisms in the abstract product:
In[49]:= | ![]() |
Out[49]= | ![]() |
Show the list of directed edges corresponding to morphisms in the abstract product:
In[50]:= | ![]() |
Out[50]= | ![]() |
Show the number of morphisms in the abstract product:
In[51]:= | ![]() |
Out[51]= | ![]() |
Show the association of simple morphisms (with all self-loops removed) in the abstract product:
In[52]:= | ![]() |
Out[52]= | ![]() |
Show the list of names of simple morphisms (with all self-loops removed) in the abstract product:
In[53]:= | ![]() |
Out[53]= | ![]() |
Show the list of directed edges corresponding to simple morphisms (with all self-loops removed) in the abstract product:
In[54]:= | ![]() |
Out[54]= | ![]() |
Show the number of simple morphisms (with all self-loops removed) in the abstract product:
In[55]:= | ![]() |
Out[55]= | ![]() |
Show the list of objects characterizing the universal property of the abstract product:
In[56]:= | ![]() |
Out[56]= | ![]() |
Show the number of objects characterizing the universal property of the abstract product:
In[57]:= | ![]() |
Out[57]= | ![]() |
Show the association of morphisms characterizing the universal property of the abstract product:
In[58]:= | ![]() |
Out[58]= | ![]() |
Show the list of names of morphisms characterizing the universal property of the abstract product:
In[59]:= | ![]() |
Out[59]= | ![]() |
Show the list of directed edges corresponding to morphisms characterizing the universal property of the abstract product:
In[60]:= | ![]() |
Out[60]= | ![]() |
Show the number of morphisms characterizing the universal property of the abstract product:
In[61]:= | ![]() |
Out[61]= | ![]() |
Show the association of reduced morphisms (modded out by all morphism equivalences) characterizing the universal property of the abstract product:
In[62]:= | ![]() |
Out[62]= | ![]() |
Show the list of names of reduced morphisms (modded out by all morphism equivalences) characterizing the universal property of the abstract product:
In[63]:= | ![]() |
Out[63]= | ![]() |
Show the list of directed edges corresponding to reduced morphisms (modded out by all morphism equivalences) characterizing the universal property of the abstract product:
In[64]:= | ![]() |
Out[64]= | ![]() |
Show the number of reduced morphisms (modded out by all morphism equivalences) characterizing the universal property of the abstract product:
In[65]:= | ![]() |
Out[65]= | ![]() |
Show the association of simple morphisms (with all self-loops and multiedges removed) characterizing the universal property of the abstract product:
In[66]:= | ![]() |
Out[66]= | ![]() |
Show the list of names of simple morphisms (with all self-loops and multiedges removed) characterizing the universal property of the abstract product:
In[67]:= | ![]() |
Out[67]= | ![]() |
Show the list of directed edges corresponding to simple morphisms (with all self-loops and multiedges removed) characterizing the universal property of the abstract product:
In[68]:= | ![]() |
Out[68]= | ![]() |
Show the number of simple morphisms (with all self-loops and multiedges removed) characterizing the universal property of the abstract product:
In[69]:= | ![]() |
Out[69]= | ![]() |
Show the association of reduced simple morphisms (with all self-loops and multiedges removed, plus all morphism equivalences modded out) characterizing the universal property of the abstract product:
In[70]:= | ![]() |
Out[70]= | ![]() |
Show the list of names of reduced simple morphisms (with all self-loops and multiedges removed, plus all morphism equivalences modded out) characterizing the universal property of the abstract product:
In[71]:= | ![]() |
Out[71]= | ![]() |
Show the list of directed edges corresponding to reduced simple morphisms (with all self-loops and multiedges removed, plus all morphism equivalences modded out) characterizing the universal property of the abstract product:
In[72]:= | ![]() |
Out[72]= | ![]() |
Show the number of reduced simple morphisms (with all self-loops and multiedges removed, plus all morphism equivalences modded out) characterizing the universal property of the abstract product:
In[73]:= | ![]() |
Out[73]= | ![]() |
Show the (arbitrary arity) symbol used to denote the abstract product operation:
In[74]:= | ![]() |
Out[74]= | ![]() |
Show the (binary) symbol used to denote morphism composition in the abstract product:
In[75]:= | ![]() |
Out[75]= | ![]() |
Show the (unary) symbol used to denote identity morphisms on objects in the abstract product:
In[76]:= | ![]() |
Out[76]= | ![]() |
Compute the abstract category whose morphisms represent the abstract product:
In[77]:= | ![]() |
Out[77]= | ![]() |
Compute the abstract category whose morphisms characterize the universal property of the abstract product:
In[78]:= | ![]() |
Out[78]= | ![]() |
Show the list of equations imposed implicitly by the requirement that the universal property of the abstract product is satisfied:
In[79]:= | ![]() |
Out[79]= | ![]() |
Show the full directed graph with labels on the morphisms of the abstract product:
In[80]:= | ![]() |
Out[80]= | ![]() |
Show the full directed graph without labels on the morphisms of the abstract product:
In[81]:= | ![]() |
Out[81]= | ![]() |
Show the simple directed graph with all self-loops removed and with labels on the morphisms of the abstract product:
In[82]:= | ![]() |
Out[82]= | ![]() |
Show the simple directed graph with all self-loops removed and without labels on the morphisms of the abstract product:
In[83]:= | ![]() |
Out[83]= | ![]() |
Show the full directed graph characterizing the universal property of the abstract product with labels on the morphisms:
In[84]:= | ![]() |
Out[84]= | ![]() |
Show the full directed graph characterizing the universal property of the abstract product without labels on the morphisms:
In[85]:= | ![]() |
Out[85]= | ![]() |
Show the reduced directed graph characterizing the universal property of the abstract product with all equivalences between morphisms imposed and with labels on the morphisms:
In[86]:= | ![]() |
Out[86]= | ![]() |
Show the reduced directed graph characterizing the universal property of the abstract product with all equivalences between morphisms imposed and without labels on the morphisms:
In[87]:= | ![]() |
Out[87]= | ![]() |
Show the simple directed graph characterizing the universal property of the abstract product with all self-loops and multiedges removed and with labels on the morphisms:
In[88]:= | ![]() |
Out[88]= | ![]() |
Show the simple directed graph characterizing the universal property of the abstract product with all self-loops and multiedges removed and without labels on the morphisms:
In[89]:= | ![]() |
Out[89]= | ![]() |
Show the reduced simple directed graph characterizing the universal property of the abstract coproduct, with all self-loops and multiedges removed plus all equivalences between morphisms modded out and with labels on the morphisms:
In[90]:= | ![]() |
Out[90]= | ![]() |
Show the reduced simple directed graph characterizing the universal property of the abstract coproduct, with all self-loops and multiedges removed plus all equivalences between morphisms modded out and without labels on the morphisms:
In[91]:= | ![]() |
Out[91]= | ![]() |
Show the explicit association form of the product:
In[92]:= | ![]() |
Out[92]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License