{
  localUrl: '../page/commutativity_examples.html',
  arbitalUrl: 'https://arbital.com/p/commutativity_examples',
  rawJsonUrl: '../raw/3mv.json',
  likeableId: '2511',
  likeableType: 'page',
  myLikeValue: '0',
  likeCount: '2',
  dislikeCount: '0',
  likeScore: '2',
  individualLikes: [
    'EricBruylant',
    'NateSoares'
  ],
  pageId: 'commutativity_examples',
  edit: '2',
  editSummary: '',
  prevEdit: '1',
  currentEdit: '2',
  wasPublished: 'true',
  type: 'wiki',
  title: 'Commutativity: Examples',
  clickbait: '',
  textLength: '4376',
  alias: 'commutativity_examples',
  externalUrl: '',
  sortChildrenBy: 'likes',
  hasVote: 'false',
  voteType: '',
  votesAnonymous: 'false',
  editCreatorId: 'NateSoares',
  editCreatedAt: '2016-05-15 13:23:17',
  pageCreatorId: 'NateSoares',
  pageCreatedAt: '2016-05-15 12:37:24',
  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: '47',
  text: '[summary: Yes: addition, multiplication, maximum, minimum, rock-paper-scissors. No: subtraction, division, string concatenation, matrix multiplication.]\n\n## Positive examples\n\n### Addition\n\n$x+y = y+x$ for all numbers $x$ and $y,$ so addition commutes. One easy way to see this fact is to consider a physical system that implements addition, e.g., by taking two piles of poker chips (where a poker chip with nn chips represents the number nn) in on two input belts, and producing a pile of poker chips on the output belt. This function can be implemented by simply shoving both input piles onto the output pile. Because a pile of chips represents the same number regardless of how those chips are arranged on the output belt, it doesn't matter which pile comes in on which input belt, so addition is commutative.\n\n### Multiplication\n\n$x \\times y = y \\times x$ for all numbers $x$ and $y,$ so multiplication also commutes. It is a bit harder to see why this must be so in the case of multiplication, as $x \\times y$ can be interpreted as "take the $x$ input and stretch it out according to the $y$ input," and it's not entirely obvious that "stretching the $x$ input according to $y$" should yield the same result as "stretching the $y$ input according to $x.$"\n\nTo see that multiplication commutes, it is helpful to visualize _copying_ $x$ (rather than stretching it out) into $y$ many rows. This allows us to visualize $x \\times y$ as a square divided into $x$ parts along one side and $y$ parts along the other side, which makes it clearer that multiplication commutes.\n\n![Multiplicaiton commutes](http://i.imgur.com/Q3QBUT6.png)\n\nIt is worth noting that the concept of "multiplication" generalizes beyond the concept of "numbers," and in those contexts, "stretching $x$ out according to $y$" and "stretching $y$ out according to $x$" might be quite different operations. For example, [matrix_multiplication multiplication of matrices] does not commute.\n\n### Maximum and minimum\n\nThe [maximum_function max] and [minimum_function min] functions commute, because "which of these elements is largest/smallest?" is a question that doesn't depend upon the order that the elements are presented in.\n\n### Rock, Paper, Scissors\n\nThe question of who won in a game of [rock_paper_scissors rock-paper-scissors] is commutative. Writing $r$ for rock, $p$ for paper, $s$ for scissors, and $?$ for the binary operator saying who won, we have $r ? p = p,$ $r ? s = r,$ and $p ? s = s,$ and so on. This function is commutative: who won a game of rock-paper-scissors does not depend upon which side of the judge they were standing on.\n\nThis provides an example of a commutative function that is not [3h4 associative]: $r?p=p?r$ and so on, but $(r?p)?s=s$ while $r?(p?s)=r.$ In other words, who won a game of rock-paper-scissors does not depend on which side of the judge they were standing on, but if you have a line of people throw "rock," "paper," or "scissors," then the question "who won?" _does_ depend on which end of the line you start from.\n\n## Negative examples\n\n### Concatenation\n\nAny function that includes its inputs in its outputs _in order_ is not commutative. For example, the function `pair` which puts its inputs into a pair (such that `pair(x, y) = (x, y)`) is not commutative. The function [3jv concat], which also sticks its inputs together in order, is also not commutative, though it is associative.\n\n### Division\n\nDivision is not commutative, because $x / y$ does not equal $y / x$ in general. In this case, the function is using $x$ and $y$ in a very different way. One is interpreted as a numerator that will be cut up, the other is treated as a denominator that says how many times to cut the numerator up. Numerator and denominator are not exchangeable concepts: Division needs to know which input is intended to be the numerator and which is intended to be the denominator.\n\n### Matrix multiplication\n\n[matrix_multiplication Matrix multiplication] is not only non-commutative, it may fail to even make sense. Two [linear_algebra_matrix matrices] can be multiplied if and only if the number of columns in the left-hand matrix is equal to the number of rows in the right-hand matrix. Thus, a $2 \\times 3$ matrix can be multiplied with a $3 \\times 5$ matrix if and only if the $2 \\times 3$ matrix is on the left. Clearly, then, matrix multiplication does not commute.',
  metaText: '',
  isTextLoaded: 'true',
  isSubscribedToDiscussion: 'false',
  isSubscribedToUser: 'false',
  isSubscribedAsMaintainer: 'false',
  discussionSubscriberCount: '1',
  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'
  ],
  childIds: [],
  parentIds: [
    'commutative_operation'
  ],
  commentIds: [],
  questionIds: [],
  tagIds: [
    'needs_clickbait_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: '17145',
      pageId: 'commutativity_examples',
      userId: 'EricBruylant',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-07-19 02:17:54',
      auxPageId: 'needs_clickbait_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '10427',
      pageId: 'commutativity_examples',
      userId: 'NateSoares',
      edit: '2',
      type: 'newEdit',
      createdAt: '2016-05-15 13:23:17',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '10414',
      pageId: 'commutativity_examples',
      userId: 'NateSoares',
      edit: '1',
      type: 'newEdit',
      createdAt: '2016-05-15 12:37:24',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '10412',
      pageId: 'commutativity_examples',
      userId: 'NateSoares',
      edit: '1',
      type: 'newParent',
      createdAt: '2016-05-15 12:11:20',
      auxPageId: 'commutative_operation',
      oldSettingsValue: '',
      newSettingsValue: ''
    }
  ],
  feedSubmissions: [],
  searchStrings: {},
  hasChildren: 'false',
  hasParents: 'true',
  redAliases: {},
  improvementTagIds: [],
  nonMetaTagIds: [],
  todos: [],
  slowDownMap: 'null',
  speedUpMap: 'null',
  arcPageIds: 'null',
  contentRequests: {}
}