{ localUrl: '../page/commutativity_intuition.html', arbitalUrl: 'https://arbital.com/p/commutativity_intuition', rawJsonUrl: '../raw/3jj.json', likeableId: '2478', likeableType: 'page', myLikeValue: '0', likeCount: '4', dislikeCount: '0', likeScore: '4', individualLikes: [ 'EricBruylant', 'NateSoares', 'EricRogstad', 'StephanieZolayvar' ], pageId: 'commutativity_intuition', edit: '9', editSummary: 'updated link to cardinality', prevEdit: '8', currentEdit: '9', wasPublished: 'true', type: 'wiki', title: 'Commutativity: Intuition', clickbait: '', textLength: '5170', alias: 'commutativity_intuition', externalUrl: '', sortChildrenBy: 'likes', hasVote: 'false', voteType: '', votesAnonymous: 'false', editCreatorId: 'EricBruylant', editCreatedAt: '2016-08-27 14:09:10', pageCreatorId: 'NateSoares', pageCreatedAt: '2016-05-11 16:58:19', seeDomainId: '0', editDomainId: 'AlexeiAndreev', submitToDomainId: '0', isAutosave: 'false', isSnapshot: 'false', isLiveEdit: 'true', isMinorEdit: 'false', indirectTeacher: 'false', todoCount: '0', isEditorComment: 'false', isApprovedComment: 'true', isResolved: 'false', snapshotText: '', anchorContext: '', anchorText: '', anchorOffset: '0', mergedInto: '', isDeleted: 'false', viewCount: '50', text: '[summary:We can think of commutativity either as an artifact of notation, or as a symmetry in the output of a function (with respect to the ordering of the inputs).]\n\n# Commutativity as an artifact of notation\n\nInstead of thinking of a commutative function $f(x, y)$ as a function that takes an ordered pair of inputs, we can think of $f$ as a function that takes an unordered [3jk bag] of inputs, and therefore _can't_ depend on their order. On this interpretation, the fact that functions are always given inputs in a particular order is an artifact of our definitions, not a fundamental property of functions themselves. If we had notation for functions applied to arguments in no particular order, then commutative functions would be the norm, and non-commutative functions would require additional structure imposed on their inputs.\n\nIn a world of linear left-to-right notation, where $f(x, y)$ means "$f$ applied to $x$ first and $y$ second", commutativity looks like a constraint. In an alternative world where functions are applied to their inputs in parallel, with none of them distinguished as "first" by default, commutativity is the natural state of affairs.\n\n# Commutativity as symmetry in the output\n\nCommutativity can be seen as a form of symmetry in the output of a [3kb binary] [3jy function]. Imagine a binary function as a physical mechanism of wheels and gears, that takes two inputs in along conveyer belts (one on the left, one on the right), manipulates those inputs (using mechanical sensors and manipulators and tools), and produces a result that is placed on an outgoing conveyer belt.\n\nThe output of a commutative function is symmetric in the way it relates to the inputs. Consider a function that takes two wooden blocks and glues them together. The function might _manipulate_ them in a symmetric fashion (if both blocks are picked up simultaneously, and have glue applied simultaneously, and are pushed together simultaneously), but the output is not symmetric: If a red block comes in on the left and a blue block comes in on the right, then the resulting block is red on the left and blue on the right, and the function is not commutative (though it is [3h4 associative]).\n\nBy contrast, a function that mixes the red and blue together — producing, for example, the uniform color purple or the unordered [3jz set] $\\{b, d, e, l, u, r\\}$ — would be commutative, because the way that the output relates to each input is independent of which side the input came in on.\n\nA function is probably commutative if you can visualize the output itself as left/right symmetric, even if the left input was very different from the right input. For example, we can use the following visualization to show that multiplication is commutative. Imagine a function that takes in two stacks of poker chips, one on the left conveyer belt and one on the right conveyer belt. The function has a square of wet plaster in the middle. On each conveyer belt, an arm removes chips from the stack of poker chips until the stack only has one chip left, and for each chip that is removed, a perpendicular cut is put in the plaster (as in the diagram below). The plaster is then allowed to set, and the plaster pieces are then shaken out into a big bag. A third arm removes plaster pieces from the bag one at a time, and adds a poker chip to the outgoing conveyer belt for each one. To visualize this, see the diagram below:\n\n![Why multiplication commutes](http://i.imgur.com/Q3QBUT6.png)\n\nIf the input conveyer belts had 4 and 6 poker chips on them (respectively), then the output belt will have 24 chips on it (because 24 different chunks of plaster will have fallen into the bag), but the chips don't necessarily come from any one particular side: The output relates to each input in a manner that doesn't depend on which side they came in.\n\n%%%knows-requisite([1r6]):\nIn mathematics, a [symmetry_mathematics symmetry] is some structure on a set that is preserved under some transformation of that set. In our case, the structure is the value of the output, which is preserved under the transformation of changing which side the inputs come in on. Formally, let $X^2$ be the set of all pairs of two values from the set $X;$ each point in $X^2$ is a pair $(x_1, x_2).$ $X^2$ can be visualized as an [4w5 $|X|$] by $|X|$ grid. Consider a function $f : X^2 \\to Y$ as a structure on $X^2$ that assigns a value $f(x_1, x_2)$ to each point $(x_1, x_2);$ this can be visualized as a terrain atop $X^2$ induced by $f$. Consider the transformation $\\operatorname{swap} : X^2 \\to X^2$ that maps $(x_1, x_2)$ to $(x_2, x_1),$ and the set $\\operatorname{swap}(X^2)$ generated by applying $\\operatorname{swap}$ to all points in $X^2$. This can be visualized as reflecting $X^2$ along a diagonal. $f$ also induces a structure on $\\operatorname{swap}(X^2).$ If the structure of $f$ on $X^2$ is identical to the structure of $f$ on $\\operatorname{swap}(X^2),$ then $f$ is a symmetry of $X^2$ under the transformation $\\operatorname{swap}$. This occurs exactly when $f(x_1, x_2)=f(x_2, x_1)$ for all $(x_1, x_2)$ pairs, which is the formal definition of commutativity.\n%%%\n\n', metaText: '', isTextLoaded: 'true', isSubscribedToDiscussion: 'false', isSubscribedToUser: 'false', isSubscribedAsMaintainer: 'false', discussionSubscriberCount: '2', maintainerCount: '1', userSubscriberCount: '0', lastVisit: '', hasDraft: 'false', votes: [], voteSummary: 'null', muVoteSummary: '0', voteScaling: '0', currentUserVote: '-2', voteCount: '0', lockedVoteType: '', maxEditEver: '0', redLinkCount: '0', lockedBy: '', lockedUntil: '', nextPageId: '', prevPageId: '', usedAsMastery: 'false', proposalEditNum: '0', permissions: { edit: { has: 'false', reason: 'You don't have domain permission to edit this page' }, proposeEdit: { has: 'true', reason: '' }, delete: { has: 'false', reason: 'You don't have domain permission to delete this page' }, comment: { has: 'false', reason: 'You can't comment in this domain because you are not a member' }, proposeComment: { has: 'true', reason: '' } }, summaries: {}, creatorIds: [ 'NateSoares', 'EricBruylant' ], childIds: [], parentIds: [ 'commutative_operation' ], commentIds: [], questionIds: [], tagIds: [ 'needs_clickbait_meta_tag', 'b_class_meta_tag' ], relatedIds: [], markIds: [], explanations: [], learnMore: [], requirements: [], subjects: [], lenses: [], lensParentId: 'commutative_operation', pathPages: [], learnMoreTaughtMap: {}, learnMoreCoveredMap: {}, learnMoreRequiredMap: {}, editHistory: {}, domainSubmissions: {}, answers: [], answerCount: '0', commentCount: '0', newCommentCount: '0', linkedMarkCount: '0', changeLogs: [ { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '19309', pageId: 'commutativity_intuition', userId: 'EricBruylant', edit: '0', type: 'newTag', createdAt: '2016-08-27 17:05:36', auxPageId: 'b_class_meta_tag', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '19291', pageId: 'commutativity_intuition', userId: 'EricBruylant', edit: '9', type: 'newEdit', createdAt: '2016-08-27 14:09:10', auxPageId: '', oldSettingsValue: '', newSettingsValue: 'updated link to cardinality' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '17146', pageId: 'commutativity_intuition', userId: 'EricBruylant', edit: '0', type: 'newTag', createdAt: '2016-07-19 02:18:12', auxPageId: 'needs_clickbait_meta_tag', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10428', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '0', type: 'newAlias', createdAt: '2016-05-15 13:23:31', auxPageId: '', oldSettingsValue: '3jj', newSettingsValue: 'commutativity_intuition' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10289', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '8', type: 'newEdit', createdAt: '2016-05-14 00:40:16', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10287', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '7', type: 'newEdit', createdAt: '2016-05-14 00:37:15', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10170', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '6', type: 'newEdit', createdAt: '2016-05-13 01:24:40', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10129', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '5', type: 'newEdit', createdAt: '2016-05-12 22:30:58', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10123', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '4', type: 'newEdit', createdAt: '2016-05-12 20:16:07', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10100', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '3', type: 'newEdit', createdAt: '2016-05-12 17:52:17', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10079', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '2', type: 'newEdit', createdAt: '2016-05-12 03:13:25', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10016', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '1', type: 'newEdit', createdAt: '2016-05-11 16:58:19', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '9989', pageId: 'commutativity_intuition', userId: 'NateSoares', edit: '1', type: 'newParent', createdAt: '2016-05-11 16:26:39', auxPageId: 'commutative_operation', oldSettingsValue: '', newSettingsValue: '' } ], feedSubmissions: [], searchStrings: {}, hasChildren: 'false', hasParents: 'true', redAliases: {}, improvementTagIds: [], nonMetaTagIds: [], todos: [], slowDownMap: 'null', speedUpMap: 'null', arcPageIds: 'null', contentRequests: {} }