{
  localUrl: '../page/product_universal_property.html',
  arbitalUrl: 'https://arbital.com/p/product_universal_property',
  rawJsonUrl: '../raw/5zv.json',
  likeableId: '3468',
  likeableType: 'page',
  myLikeValue: '0',
  likeCount: '2',
  dislikeCount: '0',
  likeScore: '2',
  individualLikes: [
    'AndrewMcKnight',
    'EricBruylant'
  ],
  pageId: 'product_universal_property',
  edit: '26',
  editSummary: '',
  prevEdit: '25',
  currentEdit: '26',
  wasPublished: 'true',
  type: 'wiki',
  title: 'Universal property of the product',
  clickbait: 'The product can be defined in a very general way, applicable to the natural numbers, to sets, to algebraic structures, and so on.',
  textLength: '19942',
  alias: 'product_universal_property',
  externalUrl: '',
  sortChildrenBy: 'likes',
  hasVote: 'false',
  voteType: '',
  votesAnonymous: 'false',
  editCreatorId: 'LukeSciarappa',
  editCreatedAt: '2016-10-07 02:49:07',
  pageCreatorId: 'PatrickStevens',
  pageCreatedAt: '2016-08-25 09:46:52',
  seeDomainId: '0',
  editDomainId: 'AlexeiAndreev',
  submitToDomainId: '0',
  isAutosave: 'false',
  isSnapshot: 'false',
  isLiveEdit: 'true',
  isMinorEdit: 'false',
  indirectTeacher: 'false',
  todoCount: '1',
  isEditorComment: 'false',
  isApprovedComment: 'true',
  isResolved: 'false',
  snapshotText: '',
  anchorContext: '',
  anchorText: '',
  anchorOffset: '0',
  mergedInto: '',
  isDeleted: 'false',
  viewCount: '2327',
  text: '[summary: We can define the general notion of "product" to coincide with the product of natural numbers and with the [-5zs], by means of a [-600] that the product has.\nSpecifically, the product of objects $A$ and $B$ is an object denoted $A \\times B$ together with maps $\\pi_A : A \\times B \\to A$ and $\\pi_B: A \\times B \\to B$, such that for every object $X$ and every pair of maps $f_A: X \\to A$ and $f_B: X \\to B$, there is a unique map $\\gamma: X \\to A \\times B$ such that $\\pi_A \\circ \\gamma = f_A$ and $\\pi_B \\circ \\gamma = f_B$.]\n\n[summary(Technical): The *product* of objects $A$ and $B$ is a certain tuple $(P, \\pi_A, \\pi_B)$, where $\\pi_A$ is an arrow $P \\to A$ and $\\pi_B$ is an arrow $P \\to B$. We require the product to satisfy the following [-600]: for every object $X$ and every pair of arrows $f: X \\to A, g: X \\to B$, there must be a unique factorisation $\\gamma: X \\to P$ satisfying $\\pi_A \\gamma = f$ and $\\pi_B \\gamma = g$.]\n\nJust as we can define the [-5zc] by means of a [-600] ([5zr like this], in fact), so we can define the general notion of a "product" by referring not to what is in the product, but instead to how the product interacts with other objects.\n\n# Motivation\n\nThe motivating example here is the [5zs product of two sets].\n\nRemember, the product of two sets $A$ and $B$ consists of all ordered pairs, the first element from $A$ and the second element from $B$.\nCategory theory likes to think about *maps involving an object* rather than *elements of an object*, though, so we'd like a way of thinking about the product using only maps.\n\nWhat maps can we find? Well, there's an easy way to produce an element of $A$ given an element of $A \\times B$: namely, "take the first coordinate".\nConcretely, if we are given $(a,b) \\in A \\times B$, we output $a$.\nAnd similarly, we can take the second coordinate to get an element of $B$.\n\nSo we have two maps, one which we will denote $\\pi_A: A \\times B \\to A$, and one denoted $\\pi_B : A \\times B \\to B$.\n%%note: We use the Greek letter $\\pi$ to stand for the word "[projection_map projection]", because the operation "take a coordinate" is often called "projection".%%\n\nNow, this is certainly not enough to characterise the product.\nFor one thing, there is a map from the [-5zc] to every other set ([5zr proof]), so if all we knew about the product was that it had a map to $A$ and a map to $B$, then we might deduce that the empty set was a perfectly good product of $A$ and $B$.\nThat's definitely not something we want our definition of "product" to mean: that the empty set is the product of every pair of sets!\nSo we're going to have to find something else to add to our putative definition.\n\nWhat else do we know about the product?\nTo try for a universal property, we're going to want to talk about *all* the maps involving the product.\nIt turns out that the correct fact to note is that a map $f$ from any set $X$ to $A \\times B$ may be defined exactly by the first coordinate and the second coordinate of the result.\nConcretely, if we know $\\pi_A(f(x))$ and $\\pi_B(f(x))$, then we know $f(x)$: it's just $\\langle \\pi_A(f(x)), \\pi_B(f(x)) \\rangle$. %%note: I've used $\\langle \\text{angled brackets}\\rangle$ to indicate the ordered pair here, just because otherwise there are confusingly many round brackets.%%\n\nAnother way of stating the universal property of the product is that maps $h : A \\to B \\times C$ are naturally in bijection with pairs of maps $f : A \\to B$, $g : A \\to C$. That is, a [61q generalized element] (of shape $A$) of $B \\times C$ is a pair consisting of a generalized element (of the same shape) of $B$ and a generalized element of $C$; this is the same as the usual description of the product in sets, but now since we use generalized elements instead of elements it makes sense in any category. Under this correspondence, $h$ being the identity on $B \\times C$ corresponds to $f$ being the projection $B \\times C \\to B$ and $g$ being the projection $B \\times C \\to C$. On the other hand, if $h$ corresponds to $f$ and $g$ via this bijection, we have $h = \\langle f, g\\rangle$. Naturality of the isomorphism turns out to imply that $\\pi_{B} \\langle f, g \\rangle = f$ and $\\pi_C \\langle f, g \\rangle = g$, as well as $\\langle \\pi_{B}, \\pi_{C} \\rangle = \\text{id}$.\n\n[todo: I think this is pretty good motivation, but it's at the cost of introducing the other version of the universal property. There's a general yoga of going between a universal property as in "representing or corepresenting a functor" and a universal property as in "being an initial or terminal object in some category", but I don't know where is a good place to discuss that.]\n\n# The universal property\n\nFrom the above, we can extract the following universal property, which really *does* define the product (up to [-4f4]):\n\n> Given objects $A$ and $B$, we define the *product* to be the following collection of three objects, if it exists: $$A \\times B \\\\ \\pi_A: A \\times B \\to A \\\\ \\pi_B : A \\times B \\to B$$ with the requirement that for every object $X$ and every pair of maps $f_A: X \\to A, f_B: X \\to B$, there is a *unique* map $f: X \\to A \\times B$ such that $\\pi_A \\circ f = f_A$ and $\\pi_B \\circ f = f_B$.\n\nIf you're anything like me, you're probably a bit lost at this point.\nTrust me that once you've set up the right structures in your mind, the property is quite simple.\nAt the moment it probably feels more like I've given you a sentence in Swahili, and I've just told you it doesn't mean anything difficult.\n\nCategory theory contains lots of things like this, where it takes a lot of words to write them out and some time to get your head around them properly. %%note: In this particular instance, one unavoidable annoyance is that the object $X$ isn't really playing any interesting role other than "[3js domain] of an arbitrary function", but we have to include the words "for every object $X$" because otherwise the definitions of $f_A$ and $f_B$ don't make sense. %%\nOne learns category theory by gradually getting used to examples and pictures; in particular, the idea of the **commutative diagram** is an extremely powerful tool for improving understanding.\n\nThe following "commutative diagram" (really just a picture showing the objects involved and how they interact) defines the product.\n\n![Product universal property](http://i.imgur.com/AcdaqkI.png)\n\nThe dashed arrow indicates "the presence of all the other arrows forces this arrow to exist uniquely"; and the diagram is said to **commute**, which means that if we follow any chain of arrows round the diagram, we'll get the same answer.\nHere, "the diagram commutes" %%note: That is, "the diagram is a *commutative* diagram".%% is exactly expressing $\\pi_A \\circ f = f_A$ (following one of the triangles round) and $\\pi_B \\circ f = f_B$ (following the other triangle).\nAnd the dashed-ness of the line is exactly expressing the words "there is a *unique* map $f: X \\to A \\times B$".\n\nWe'll see several examples now, some related to each other and some not.\nHopefully in working through these, you will pick up what the property means; and maybe you will start to get a feel for some underlying intuitions.\n\n# Example: finite sets\n\n(This discussion works just as well in the category of *all* sets, not just the finite ones, but finite sets are much easier to understand than general sets.)\n\nThe motivation above took some properties of the set-product, and turned them into a new general definition.\nSo we should hope that when we take the new general definition and bring it back into the world of sets, we recover the original set-product we started with.\nThat is indeed the case.\n\nLet $A$ and $B$ be finite sets; we want to see what $A \\otimes B$ %%note: Because $\\times$ already has a meaning in set theory, we'll use $\\otimes$ to distinguish this new concept. Of course, the aim of this section is to show that $\\otimes$ is actually the same as our usual $\\times$. %% is (using the universal-property definition), if it exists.\n\nWell, it would be the finite set $A \\otimes B$ (whatever that might be), together with two maps $\\pi_A: A \\otimes B \\to A$ and $\\pi_B: A \\otimes B \\to B$, such that:\n\n> For every finite set $X$ and every pair of maps $f_A: X \\to A, f_B: X \\to B$, there is a *unique* map $f: X \\to A \\otimes B$ such that $\\pi_A \\circ f = f_A$ and $\\pi_B \\circ f = f_B$.\n\nLet's try and identify what set this universal property describes %%note: If such a set exists. (Spoiler: it does.)%%.\nThe property is very general, talking about the entire "universe" of finite sets, so to get a grasp of it, it should help to specialise to some simple sets $X$.\n\nYou might like to work out for yourself why letting $X = \\emptyset$ doesn't tell us anything about $A \\otimes B$.\n\nBut a much more enlightening choice of $X$ arises if we take $X = \\{ 1 \\}$.\nIn that case, a map from $X$ to $A$ is just identifying a specific element of $A$, so for example we may refer to $f_A: X \\to A$ as a "choice of element of $A$".\nIndeed, if $g: \\{1\\} \\to A$, then we have an element $g(1)$ in $A$, because there's no choice about which element of the [3js domain] we use: there's only the element $1$, so the only possible output of $g$ is the element $g(1)$ of $A$.\n\nSpecialising to this instance of $X$, then, the universal property requires that:\n\n> For every pair of choices of element, $f_A: \\{ 1 \\} \\to A$ and $f_B : \\{ 1 \\} \\to B$, there is a *unique* choice of element $f: \\{1\\} \\to A \\otimes B$ such that $\\pi_A \\circ f = f_A$ and $\\pi_B \\circ f = f_B$.\n\n(What does it mean to compose a function with a choice of element? Well, $\\pi_A \\circ f$ is a function from $\\{1\\}$ to $A$, so it's also just a choice of element of $A$; it's basically just $\\pi_A$ applied to the choice-of-element embodied by $f$.)\n\nMore familiarly stated:\n\n> For every pair of elements $a \\in A$ and $b \\in B$, there is a *unique* element $x \\in A \\otimes B$ such that $\\pi_A(x) = a$ and $\\pi_B(x) = b$.\n\nThat's just saying "$A \\otimes B$ consists of objects which $\\pi_A$ and $\\pi_B$ allow us to interpret as ordered pairs"!\nSpecifically, it's saying that for every ordered pair of objects in $A \\times B$, we can find a unique element of $A \\otimes B$ which gets interpreted by $\\pi_A$ and $\\pi_B$ as having the same components as that ordered pair.\n\n# Example: natural numbers\n\nTo give you an idea of where we're aiming for, in this section, we're going to use the fact that a [-3rb] may be viewed as a [4cx category], by letting there be a single arrow $a \\to b$ if and only if $a \\leq b$ in the poset.\nThat is, instead of maps $f: A \\to B$, we have "facts that $A \\leq B$ in the poset" which we interpret as "arrows from $A$ to $B$"; there is only ever at most one fact that $A \\leq B$, so there is only ever at most one arrow from $A$ to $B$.\n\nWe'll examine what the category-theoretic product means in this category, and hopefully this should help indicate how versatile the "universal property" idea is.\n\n## Specific poset: "less than"\n\nLet us work in a specific poset: $\\mathbb{N}$ the [45h natural numbers], ordered by the usual "less than".\nFor example, $1$ is less than or equal to every number except $0$, so there is an arrow from $1$ to every number except $0$.\nThere is an arrow from $2$ to every number bigger than or equal to $2$, and so on.\nThere is an arrow from $0$ to every number.\n\nThe universal property of the category-theoretic product %%note: I'll emphasise "category-theoretic" in this section, because it will turn out that in this context, "product" *doesn't* mean "usual product of natural numbers".%% here is:\n\n> Given natural numbers $m$ and $n$, we define the *category-theoretic product* $\\otimes$ %%note: Because $\\times$ already has a meaning in the naturals, we'll use $\\otimes$ to distinguish this new concept.%% to be the following collection of three objects, if it exists: \n\n> - $m \\otimes n$\n> - The fact that $m \\otimes n$ is less than or equal to $m$ %%note: In the sets case, this was the map $\\pi_A$; but here, we're in a poset category, so instead of "a function from $A$ to $B$", we have "the fact that $A \\leq B$".%% \n> - The fact that $m \\otimes n$ is less than or equal to $n$ %%note: This is corresponding to what was the map $\\pi_B$.%%.\n\n> We also have the requirement that for every natural number $x$ and every instance of the fact that $x \\leq m, x \\leq n$ %%note: Such an instance corresponds to the pair of maps $f_A: X \\to A$ and $f_B: X \\to B$.%%, there is a *unique* instance of the fact that $x \\leq m \\otimes n$. %%note: This corresponds to the map $f: X \\to A \\times B$. In fact we can omit "unique", because in a poset, there is never more than one arrow between any two given objects; in this context, there is only one way to express $x \\leq m \\otimes n$.%%\n\nYou might want to spend a little time convincing yourself that the requirement in the posets case is the same as the requirement in the general category-theoretic case.\nIndeed, we can omit the "compositions" part entirely.\nFor example, half of the compositions part reads "$\\pi_A \\circ f = f_A$"; when translated into poset language, that is "the instance of the fact that $m \\otimes n \\leq m$, together with the instance of the fact that $x \\leq m \\otimes n$, yields the instance of the fact that $x \\leq m$".\nBut this is immediate anyway because posets already let us deduce that $A \\leq C$ from $A \\leq B$ and $B \\leq C$.\n\nTo summarise, then, we define $m \\otimes n$, if it exists, to be the natural number which is less than or equal to $m$ and to $n$, such that for every natural $x$ with $x \\leq m, x \\leq n$, we have $x \\leq m \\otimes n$.\n\nIf you think about this for a few minutes, you might work out that this is just referring to the minimum of $m$ and $n$.\nSo we have defined the minimum of two natural numbers in a category-theoretic "universal properties" way: it's the category-theoretic product in this particular poset. \n\nNotice, by the way, that in this case, the category-theoretic product (i.e. the minimum) does always exist.\nRemember, the universal property comes with a caveat: it defines the product to be a certain triple of $(A \\times B, \\pi_A, \\pi_B)$, *if those three things exist*.\nIt's by no means a given that the triple always *does* exist; but in this particular instance, with the natural numbers under the "less than" relation, it so happens that it does always exist.\nFor every pair $m, n$ of naturals, there *is* a triple $(m \\otimes n, \\pi_m, \\pi_n)$ satisfying the universal property: namely, letting $m \\otimes n$ be the minimum of $m$ and $n$, and letting $\\pi_m$ and $\\pi_n$ be "instances of the facts that $m \\otimes n \\leq m$ and $m \\otimes n \\leq n$" respectively.\n\n## Specific example: divisibility\n\nLet's now use the poset which is given by the *nonzero* naturals $\\mathbb{N}^{\\geq 1}$ but using the order relation of divisibility: $a \\mid b$ if and only if $a$ divides $b$.\nFor example, $1$ divides every nonzero natural so there is an arrow $1 \\to n$ for every $n$;\nthere are arrows $2 \\to n$ for every *even* positive natural $n$, and so on.\n\nWe'll give the product definition again:\n\n> Given natural numbers $m$ and $n$, we define the *category-theoretic product* $\\otimes$ to be the following collection of three objects, if it exists: \n\n> - $m \\otimes n$\n> - The fact that $m \\otimes n$ divides $m$ %%note: In the sets case, this was the map $\\pi_A$; but here, we're in a poset category, so instead of "a function from $A$ to $B$", we have "the fact that $A \\mid B$".%% \n> - The fact that $m \\otimes n$ divides $n$.\n\n> We also have the requirement that for every natural number $x$ such that $x \\mid m, x \\mid n$, it is the case that $x \\mid m \\otimes n$.\n\nAgain, a few minutes of pondering might lead you to discover that this is referring to the [-5mw], and again it so happens that it always exists.\n\n## Moral things to notice about the above examples\n\nWorking in a poset, the nature of the category-theoretic product as some kind of "optimiser" is a bit clearer.\nIt is the "optimal" object such that certain conditions hold.\n\n- In the first example, it is optimal in the sense that it is the *biggest* natural $a$ such that $a \\leq m$ and $a\\leq n$.\n- In the second example, it is optimal in the sense that it is the natural $a$ with the *most factors* such that $a \\mid m$ and $a \\mid n$.\n\nIn fact this is true in general posets: the category-theoretic product of $X$ and $Y$ in a poset is the [-greatest_lower_bound] of $X$ and $Y$ in the poset.\n\n# The property characterises the product up to isomorphism\n\nThis is what makes our new definition really make sense: this theorem tells us that our construction really does pick out a specific object.\nThe proof appears [60v on a different page]; it follows a similar pattern to the "maps" way of proving that [603 the empty set is uniquely characterised by its universal property].\n\nIf we can show that some easy-to-specify property (such as the universal property of the product) characterises things uniquely or up to isomorphism, we can be pretty hopeful that the property is worth thinking more about.\nWhile the product's universal property is wordy, it has a simple diagram which defines it; the property itself is not very complicated, and the main difficulty is in understanding the background.\n\n# Why is the product interesting?\n\nWhy should we care about having this object defined by the universal property?\nWell, if we stop defining things by their internal properties (for instance, if we stop defining the product of sets $A$ and $B$ as the collection of ordered pairs) and use a universal property instead, we get a definition which doesn't care about internal properties.\nIt's immediately applicable to other situations. \nIf we make sure that, in proving things about the product, we only use the universal property (or things that can be derived from the universal property), we'll instantly get theorems that are true not just for set-products but also for more general situations.\nCategory theory, and its beginnings in the idea of the universal property, is in some ways the art of finding where in mathematics we're just doing the same things in a slightly different way, and seeing if we can show why they're *actually* the same rather than merely looking similar.\n\nUltimately, this viewpoint shows us that the following ideas are "basically the same" (and it doesn't matter if you don't know what some of these mean):\n\n- Product of natural numbers %%note: The easiest way to obtain this is by interpreting a [natural_number_as_category natural number as a category itself]. The product of natural numbers $m$ and $n$, in the colloquial sense of "product", is then given by the [-product_category] of the two categories representing $m$ and $n$.%%\n- [5zs Product of sets] %%note: We showed in this very page that the set product is captured by the category-theoretic product.%%\n- Product of [topological_space topological spaces]\n- Direct product of [3gd groups]\n- Direct sum of [3h2 abelian groups]\n- Greatest lower bounds in [3rb posets] %%note: We showed two examples of this above, looking at the minimum and greatest common divisor of two naturals.%%\n- [segre_embedding Segre embedding] of two [projective_variety projective varieties], in [algebraic_geometry]. This is an example where the existence of the product is decidedly non-trivial.\n\nI personally took algebraic geometry and didn't understand a word of it, including about the Segre embedding. The lecturer didn't tell me at the time that the Segre embedding is a product, so I just went on thinking it was incomprehensible.\nBut now I know that the Segre embedding is "just" a product. \nThat immediately tells me that in some deep moral sense it's "not too difficult": even though algebraic geometry is fiendishly hard, the Segre embedding is not at its heart one of the really difficult bits, and if I chose to learn it properly, I wouldn't need to do too much mental gymnastics to understand it.',
  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: 'true',
  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: [
    'PatrickStevens',
    'LukeSciarappa'
  ],
  childIds: [
    'product_is_unique_up_to_isomorphism'
  ],
  parentIds: [
    'product_category_theory',
    'universal_property'
  ],
  commentIds: [],
  questionIds: [],
  tagIds: [
    'b_class_meta_tag'
  ],
  relatedIds: [],
  markIds: [],
  explanations: [],
  learnMore: [],
  requirements: [
    {
      id: '6402',
      parentId: 'math2',
      childId: 'product_universal_property',
      type: 'requirement',
      creatorId: 'AlexeiAndreev',
      createdAt: '2016-09-15 21:21:55',
      level: '3',
      isStrong: 'true',
      everPublished: 'true'
    }
  ],
  subjects: [],
  lenses: [],
  lensParentId: 'product_category_theory',
  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: '19874',
      pageId: 'product_universal_property',
      userId: 'LukeSciarappa',
      edit: '26',
      type: 'newEdit',
      createdAt: '2016-10-07 02:49:07',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19630',
      pageId: 'product_universal_property',
      userId: 'AlexeiAndreev',
      edit: '0',
      type: 'deleteTag',
      createdAt: '2016-09-15 21:23:25',
      auxPageId: 'product_category_theory',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19628',
      pageId: 'product_universal_property',
      userId: 'AlexeiAndreev',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-09-15 21:23:22',
      auxPageId: 'product_category_theory',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19627',
      pageId: 'product_universal_property',
      userId: 'AlexeiAndreev',
      edit: '0',
      type: 'newRequirement',
      createdAt: '2016-09-15 21:21:55',
      auxPageId: 'math2',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19626',
      pageId: 'product_universal_property',
      userId: 'AlexeiAndreev',
      edit: '0',
      type: 'deleteTag',
      createdAt: '2016-09-15 21:21:48',
      auxPageId: 'math2',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '3493',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '1',
      dislikeCount: '0',
      likeScore: '1',
      individualLikes: [],
      id: '19450',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '25',
      type: 'newEdit',
      createdAt: '2016-09-02 07:30:47',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '3492',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '1',
      dislikeCount: '0',
      likeScore: '1',
      individualLikes: [],
      id: '19449',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '24',
      type: 'newEdit',
      createdAt: '2016-09-02 07:25:34',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19435',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '23',
      type: 'newEdit',
      createdAt: '2016-08-31 20:16:57',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19434',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '22',
      type: 'newEdit',
      createdAt: '2016-08-31 20:09:29',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19433',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '21',
      type: 'newEdit',
      createdAt: '2016-08-31 20:05:07',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19432',
      pageId: 'product_universal_property',
      userId: 'EricBruylant',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-08-31 19:09:16',
      auxPageId: 'math2',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19431',
      pageId: 'product_universal_property',
      userId: 'EricBruylant',
      edit: '0',
      type: 'deleteTag',
      createdAt: '2016-08-31 19:08:50',
      auxPageId: 'start_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19429',
      pageId: 'product_universal_property',
      userId: 'EricBruylant',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-08-31 19:08:47',
      auxPageId: 'b_class_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19428',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '20',
      type: 'newEdit',
      createdAt: '2016-08-31 15:32:54',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19427',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '19',
      type: 'newEdit',
      createdAt: '2016-08-31 15:17:18',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19426',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '18',
      type: 'newEdit',
      createdAt: '2016-08-31 15:08:39',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19425',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '17',
      type: 'newEdit',
      createdAt: '2016-08-31 06:49:08',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19424',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '16',
      type: 'newEdit',
      createdAt: '2016-08-31 06:47:15',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19423',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '15',
      type: 'newEdit',
      createdAt: '2016-08-31 06:46:42',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19422',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '14',
      type: 'newEdit',
      createdAt: '2016-08-31 06:37:35',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19417',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '13',
      type: 'newEdit',
      createdAt: '2016-08-30 22:27:32',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19416',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '12',
      type: 'newEdit',
      createdAt: '2016-08-30 22:26:02',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19415',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '11',
      type: 'newEdit',
      createdAt: '2016-08-30 22:25:01',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19367',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '10',
      type: 'newEdit',
      createdAt: '2016-08-28 20:50:47',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19366',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '9',
      type: 'newEdit',
      createdAt: '2016-08-28 14:54:53',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19362',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newChild',
      createdAt: '2016-08-28 14:52:51',
      auxPageId: 'product_is_unique_up_to_isomorphism',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19360',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '8',
      type: 'newEdit',
      createdAt: '2016-08-28 14:28:56',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19359',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '7',
      type: 'newEdit',
      createdAt: '2016-08-28 14:21:40',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19358',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '6',
      type: 'newEdit',
      createdAt: '2016-08-28 14:20:43',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19357',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '5',
      type: 'newEdit',
      createdAt: '2016-08-28 14:19:23',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '3462',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '1',
      dislikeCount: '0',
      likeScore: '1',
      individualLikes: [],
      id: '19320',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '4',
      type: 'newEdit',
      createdAt: '2016-08-27 18:37:55',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '3461',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '1',
      dislikeCount: '0',
      likeScore: '1',
      individualLikes: [],
      id: '19251',
      pageId: 'product_universal_property',
      userId: 'EricRogstad',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-08-27 09:54:27',
      auxPageId: 'start_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19250',
      pageId: 'product_universal_property',
      userId: 'EricRogstad',
      edit: '0',
      type: 'deleteTag',
      createdAt: '2016-08-27 09:54:22',
      auxPageId: 'stub_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19193',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '3',
      type: 'newEdit',
      createdAt: '2016-08-26 20:26:17',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19174',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newParent',
      createdAt: '2016-08-26 14:11:59',
      auxPageId: 'universal_property',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '3448',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '1',
      dislikeCount: '0',
      likeScore: '1',
      individualLikes: [],
      id: '19165',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '2',
      type: 'newEdit',
      createdAt: '2016-08-26 13:10:56',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19137',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newParent',
      createdAt: '2016-08-25 09:46:53',
      auxPageId: 'product_category_theory',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19138',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-08-25 09:46:53',
      auxPageId: 'stub_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19135',
      pageId: 'product_universal_property',
      userId: 'PatrickStevens',
      edit: '1',
      type: 'newEdit',
      createdAt: '2016-08-25 09:46:52',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    }
  ],
  feedSubmissions: [],
  searchStrings: {},
  hasChildren: 'true',
  hasParents: 'true',
  redAliases: {},
  improvementTagIds: [],
  nonMetaTagIds: [],
  todos: [],
  slowDownMap: 'null',
  speedUpMap: 'null',
  arcPageIds: 'null',
  contentRequests: {}
}