{ localUrl: '../page/associative_operation.html', arbitalUrl: 'https://arbital.com/p/associative_operation', rawJsonUrl: '../raw/3h4.json', likeableId: '2481', likeableType: 'page', myLikeValue: '0', likeCount: '3', dislikeCount: '0', likeScore: '3', individualLikes: [ 'EricBruylant', 'NateSoares', 'EricRogstad' ], pageId: 'associative_operation', edit: '17', editSummary: 'removed spurious bracket', prevEdit: '14', currentEdit: '17', wasPublished: 'true', type: 'wiki', title: 'Associative operation', clickbait: '', textLength: '2278', alias: 'associative_operation', externalUrl: '', sortChildrenBy: 'likes', hasVote: 'false', voteType: '', votesAnonymous: 'false', editCreatorId: 'EricRogstad', editCreatedAt: '2016-07-08 22:17:26', pageCreatorId: 'NateSoares', pageCreatedAt: '2016-05-09 07:26:51', 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: '222', text: 'An **associative operation** $\\bullet : X \\times X \\to X$ is a [3kb binary] [3h7 operation] such that for all $x, y, z$ in $X$, $x \\bullet (y \\bullet z) = (x \\bullet y) \\bullet z$. For example, $+$ is an associative function, because $(x + y) + z = x + (y + z)$ for all values of $x, y,$ and $z$. When an associative function is used to combine many elements in a row, parenthesis can be dropped, because the order of application is irrelevant.\n\nImagine that you're trying to use $f$ to combine 3 elements $x, y,$ and $z$ into one element, via two applications of $f$. $f$ is associative if $f(f(x, y), z) = f(x, f(y, z)),$ i.e., if the result is the same regardless of whether you apply $f$ to $x$ and $y$ first (and then apply that result to $z$), or whether you apply $f$ to $y$ and $z$ first (and then apply $x$ to that result).\n\nVisualizing $f$ as a [3mb physical mechanism], there are two different ways to hook up two copies of $f$ together to create a function $f_3 : X \\times X \\times X \\to X,$ which takes three inputs and produces one output:\n\n![Two ways of combining f](http://i.imgur.com/Ezs1P8l.png)\n\nAn associative function $f$ is one where the result is the same no matter which way the functions are hooked up, which means that the result of using $f$ twice to turn three inputs into one output yields the same output regardless of the order in which we combine adjacent inputs.\n\n![3-arity f](http://i.imgur.com/WCT9HaA.png)\n\nBy similar argument, an associative operator $f$ also gives rise (unambiguously) to functions $f_4, f_5, \\ldots,$ meaning that [3ms associative functions can be seen as a family of functions on lists].\n\nThis justifies the omission of parenthesis when writing expressions where an associative operator $\\bullet$ is applied to many inputs in turn, because the order of application does not matter. For example, multiplication is associative, so we can write expressions such as $2 \\cdot 3 \\cdot 4 \\cdot 5$ without ambiguity. It makes no difference whether we compute the result by first multiplying 2 by 3, or 3 by 4, or 4 by 5.\n\nBy contrast, the function `prependx` that sticks its inputs together and puts an `x` on the front is not associative: `prependx(prependx("a","b"),"c") = "xxabc"`, but `prependx("a",prependx("b","c"))=xaxbc`.', 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', 'EricRogstad', 'DylanHendrickson' ], childIds: [ 'associativity_intuition', 'generalized_associative_law', 'associativity_examples', 'associativity_vs_commutativity' ], parentIds: [ 'math' ], commentIds: [ '3lr' ], questionIds: [], tagIds: [ 'needs_clickbait_meta_tag', 'b_class_meta_tag' ], relatedIds: [], markIds: [], explanations: [], learnMore: [], requirements: [], subjects: [], lenses: [ { id: '22', pageId: 'associative_operation', lensId: 'associativity_intuition', lensIndex: '0', lensName: 'Intuition', lensSubtitle: '', createdBy: '1', createdAt: '2016-06-17 21:58:56', updatedBy: '1', updatedAt: '2016-06-17 21:58:56' }, { id: '24', pageId: 'associative_operation', lensId: 'associativity_examples', lensIndex: '2', lensName: 'Examples', lensSubtitle: '', createdBy: '1', createdAt: '2016-06-17 21:58:56', updatedBy: '1', updatedAt: '2016-06-17 21:58:56' } ], lensParentId: '', 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: '18843', pageId: 'associative_operation', userId: 'EricBruylant', edit: '0', type: 'newTag', createdAt: '2016-08-19 23:10:12', auxPageId: 'b_class_meta_tag', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '17132', pageId: 'associative_operation', userId: 'EricBruylant', edit: '0', type: 'newTag', createdAt: '2016-07-19 02:09:35', auxPageId: 'needs_clickbait_meta_tag', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '16266', pageId: 'associative_operation', userId: 'EricRogstad', edit: '17', type: 'newEdit', createdAt: '2016-07-08 22:17:26', auxPageId: '', oldSettingsValue: '', newSettingsValue: 'removed spurious bracket' }, { likeableId: '3003', likeableType: 'changeLog', myLikeValue: '0', likeCount: '1', dislikeCount: '0', likeScore: '1', individualLikes: [], id: '16019', pageId: 'associative_operation', userId: 'DylanHendrickson', edit: '14', type: 'newEdit', createdAt: '2016-07-07 17:43:58', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '16017', pageId: 'associative_operation', userId: 'DylanHendrickson', edit: '0', type: 'newAlias', createdAt: '2016-07-07 17:43:15', auxPageId: '', oldSettingsValue: 'associativity', newSettingsValue: 'associative_operation' }, { likeableId: '3002', likeableType: 'changeLog', myLikeValue: '0', likeCount: '1', dislikeCount: '0', likeScore: '1', individualLikes: [], id: '16018', pageId: 'associative_operation', userId: 'DylanHendrickson', edit: '13', type: 'newEdit', createdAt: '2016-07-07 17:43:15', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10435', pageId: 'associative_operation', userId: 'NateSoares', edit: '12', type: 'newEdit', createdAt: '2016-05-15 13:35:26', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10431', pageId: 'associative_operation', userId: 'NateSoares', edit: '11', type: 'newEdit', createdAt: '2016-05-15 13:24:21', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10430', pageId: 'associative_operation', userId: 'NateSoares', edit: '0', type: 'newAlias', createdAt: '2016-05-15 13:24:20', auxPageId: '', oldSettingsValue: 'associative_function', newSettingsValue: 'associativity' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10418', pageId: 'associative_operation', userId: 'NateSoares', edit: '10', type: 'newChild', createdAt: '2016-05-15 13:13:51', auxPageId: 'associativity_vs_commutativity', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10411', pageId: 'associative_operation', userId: 'NateSoares', edit: '0', type: 'deleteTag', createdAt: '2016-05-15 12:10:45', auxPageId: 'work_in_progress_meta_tag', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10408', pageId: 'associative_operation', userId: 'NateSoares', edit: '10', type: 'newChild', createdAt: '2016-05-15 12:10:10', auxPageId: 'associativity_examples', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10394', pageId: 'associative_operation', userId: 'NateSoares', edit: '10', type: 'newChild', createdAt: '2016-05-15 07:16:27', auxPageId: 'associativity_intuition', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10388', pageId: 'associative_operation', userId: 'NateSoares', edit: '10', type: 'newChild', createdAt: '2016-05-15 06:15:14', auxPageId: 'generalized_associative_law', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10386', pageId: 'associative_operation', userId: 'NateSoares', edit: '10', type: 'newEdit', createdAt: '2016-05-15 05:25:07', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10339', pageId: 'associative_operation', userId: 'EricRogstad', edit: '9', type: 'newEdit', createdAt: '2016-05-14 17:23:01', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10331', pageId: 'associative_operation', userId: 'NateSoares', edit: '8', type: 'newEdit', createdAt: '2016-05-14 15:51:59', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10316', pageId: 'associative_operation', userId: 'NateSoares', edit: '7', type: 'newEdit', createdAt: '2016-05-14 05:34:52', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10315', pageId: 'associative_operation', userId: 'NateSoares', edit: '6', type: 'newEdit', createdAt: '2016-05-14 05:33:45', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10314', pageId: 'associative_operation', userId: 'NateSoares', edit: '5', type: 'newEdit', createdAt: '2016-05-14 05:14:38', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10161', pageId: 'associative_operation', userId: 'NateSoares', edit: '4', type: 'newEdit', createdAt: '2016-05-12 23:31:53', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '10150', pageId: 'associative_operation', userId: 'NateSoares', edit: '3', type: 'newEdit', createdAt: '2016-05-12 23:21:16', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '9955', pageId: 'associative_operation', userId: 'NateSoares', edit: '0', type: 'newAlias', createdAt: '2016-05-11 00:33:17', auxPageId: '', oldSettingsValue: '3h4', newSettingsValue: 'associative_function' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '9956', pageId: 'associative_operation', userId: 'NateSoares', edit: '2', type: 'newEdit', createdAt: '2016-05-11 00:33:17', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '9725', pageId: 'associative_operation', userId: 'NateSoares', edit: '1', type: 'newEdit', createdAt: '2016-05-09 07:26:51', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '9722', pageId: 'associative_operation', userId: 'NateSoares', edit: '0', type: 'newTag', createdAt: '2016-05-09 07:26:23', auxPageId: 'work_in_progress_meta_tag', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '9721', pageId: 'associative_operation', userId: 'NateSoares', edit: '0', type: 'newParent', createdAt: '2016-05-09 07:26:18', auxPageId: 'math', oldSettingsValue: '', newSettingsValue: '' } ], feedSubmissions: [], searchStrings: {}, hasChildren: 'true', hasParents: 'true', redAliases: {}, improvementTagIds: [], nonMetaTagIds: [], todos: [], slowDownMap: 'null', speedUpMap: 'null', arcPageIds: 'null', contentRequests: {} }