{
  localUrl: '../page/universal_property.html',
  arbitalUrl: 'https://arbital.com/p/universal_property',
  rawJsonUrl: '../raw/600.json',
  likeableId: '0',
  likeableType: 'page',
  myLikeValue: '0',
  likeCount: '0',
  dislikeCount: '0',
  likeScore: '0',
  individualLikes: [],
  pageId: 'universal_property',
  edit: '11',
  editSummary: '',
  prevEdit: '10',
  currentEdit: '11',
  wasPublished: 'true',
  type: 'wiki',
  title: 'Universal property',
  clickbait: 'A universal property is a way of defining an object based purely on how it interacts with other objects, rather than by any internal property of the object itself.',
  textLength: '5002',
  alias: 'universal_property',
  externalUrl: '',
  sortChildrenBy: 'likes',
  hasVote: 'false',
  voteType: '',
  votesAnonymous: 'false',
  editCreatorId: 'PatrickStevens',
  editCreatedAt: '2016-12-31 14:33:03',
  pageCreatorId: 'PatrickStevens',
  pageCreatedAt: '2016-08-26 14:11:10',
  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: '1797',
  text: '[summary: In [-4c7], we attempt to avoid thinking about what an object *is*, and look only at how it interacts with other objects. A universal property is a way of defining an object not in terms of its "internal" properties, but instead by its interactions with the "universe" of other objects in existence.]\n\nIn [-4c7], we attempt to avoid thinking about what an object *is*, and look only at how it interacts with other objects.\nIt turns out that even if we're not allowed to talk about the "internal" structure of an object, we can still pin down some objects just by talking about their interactions.\nFor example, if we are not allowed to define the [-5zc] as "the set with no elements", we [5zr can still define it] by means of a "universal property", talking instead about the *functions* from the empty set rather than about the elements of the empty set.\n\nThis page is not designed to teach you any particular universal properties, but rather to convey a sense of what the idea of "universal property" is about.\nYou are supposed to let it wash over you gently, without worrying particularly if you don't understand words or even entire sentences.\n\n# Examples\n\n- The [-5zc] can be [5zr defined by a universal property]. Specifically, it is an instance of the idea of an [-initial_object], in the category of sets. The same idea captures the trivial [3gd group], the [3gq ring] $\\mathbb{Z}$ of [48l integers], and the natural number $0$.\n- The [5zv product] has a universal property, generalising the [-5zs], the product of integers, the [-greatest_lower_bound] in a [-3rb], the products of many different [3gx algebraic structures], and many other things besides.\n- The [-6gd free group] has a universal property (we refer to this property by the unwieldy phrase "the free-group [functor_category_theory functor] is *left-[adjoint_category_theory adjoint]* to the [-forgetful_functor]"). The same property can be used to create free rings, the [-discrete_topology] on a set, and the free [algebraic_semigroup semigroup] on a set. This idea of the *left adjoint* can also be used to define initial objects (which is the generalised version of the universal property of the empty set). %%note: Indeed, an initial object of category $\\mathcal{C}$ is exactly a left adjoint to the unique functor from $\\mathcal{C}$ to $\\mathbf{1}$ the one-arrow category.%%\n\nThe above examples show that the ideas of category theory are very general.\nFor instance, the third example captures the idea of a "free" object, which turns up all over [-3h0].\n\n# Definition "up to isomorphism"\n\n[todo: explain that we only usually get things defined up to isomorphism, and what that means anyway]\n\n# Universal properties might not define objects\n\nUniversal properties are often good ways to define things, but just like with any definition, we always need to check in each individual case that we've actually defined something coherent.\nThere is no silver bullet for this: universal properties don't just magically work all the time.\n\nFor example, consider a very similar universal property to that of the [-5zc] (detailed [5zr here]), but instead of working with sets, we'll work with [481 fields], and instead of [3jy functions] between sets, we'll work with field homomorphisms.\n\nThe corresponding universal property will turn out *not* to be coherent:\n\n> The *initial field* %%note: Analogously with the empty set, but fields can't be empty so we'll call it "initial" for reasons which aren't important right now.%% is the unique field $F$ such that for every field $A$, there is a unique field homomorphism from $F$ to $A$.\n\n%%%hidden(Proof that there is no initial field):\n(The slick way to communicate this proof to a practised mathematician is "there are no field homomorphisms between fields of different [field_characteristic characteristic]".)\n\nIt will turn out that all we need is that there are two fields [4zq $\\mathbb{Q}$] and $F_2$ the field on two elements. %%note: $F_2$ has elements $0$ and $1$, and the relation $1 + 1 = 0$.%%\n\nSuppose we had an initial field $F$ with multiplicative identity element $1_F$; then there would have to be a field homomorphism $f$ from $F$ to $F_2$.\nRemember, $f$ can be viewed as (among other things) a [-47t] from the *multiplicative* group $F^*$ %%note: That is, the group whose [-3gz] is $F$ without $0$, with the group operation being "multiplication in $F$".%% to $F_2^*$.\n\nNow $f(1_F) = 1_{F_2}$ because [49z the image of the identity is the identity], and so $f(1_F + 1_F) = 1_{F_2} + 1_{F_2} = 0_{F_2}$.\n\nBut field homomorphisms are either [4b7 injective] or map everything to $0$ ([76h proof]); and we've already seen that $f(1_F)$ is not $0_{F_2}$.\nSo $f$ must be injective; and hence $1_F + 1_F$ must be $0_F$ because $f(1_F + 1_F) = 0_{F_2} = f(0_F)$.\n\nNow examine $\\mathbb{Q}$.\nThere is a field homomorphism $g$ from $F$ to $\\mathbb{Q}$.\nWe have $g(1_F + 1_F) = g(1_F) + g(1_F) = 1 + 1 = 2$; but also $g(1_F + 1_F) = g(0_F) = 0$.\nThis is a contradiction.\n%%%',
  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: [
    'PatrickStevens'
  ],
  childIds: [
    'empty_set_universal_property',
    'product_universal_property',
    'disjoint_union_universal_property'
  ],
  parentIds: [
    'category_theory'
  ],
  commentIds: [],
  questionIds: [],
  tagIds: [
    'start_meta_tag'
  ],
  relatedIds: [],
  markIds: [],
  explanations: [],
  learnMore: [],
  requirements: [],
  subjects: [],
  lenses: [],
  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: '21197',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '11',
      type: 'newEdit',
      createdAt: '2016-12-31 14:33:03',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '21194',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '10',
      type: 'newEdit',
      createdAt: '2016-12-31 13:33:29',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19535',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newChild',
      createdAt: '2016-09-11 11:24:16',
      auxPageId: 'disjoint_union_universal_property',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19504',
      pageId: 'universal_property',
      userId: 'EricRogstad',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-09-04 08:36:32',
      auxPageId: 'start_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19503',
      pageId: 'universal_property',
      userId: 'EricRogstad',
      edit: '0',
      type: 'deleteTag',
      createdAt: '2016-09-04 08:36:26',
      auxPageId: 'stub_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19443',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '9',
      type: 'newEdit',
      createdAt: '2016-09-01 11:14:43',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19442',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '8',
      type: 'newEdit',
      createdAt: '2016-09-01 11:12:45',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19441',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '7',
      type: 'newEdit',
      createdAt: '2016-09-01 11:12:17',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '3489',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '1',
      dislikeCount: '0',
      likeScore: '1',
      individualLikes: [],
      id: '19440',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '6',
      type: 'newEdit',
      createdAt: '2016-09-01 11:11:53',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '3488',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '1',
      dislikeCount: '0',
      likeScore: '1',
      individualLikes: [],
      id: '19439',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '5',
      type: 'newEdit',
      createdAt: '2016-09-01 10:54:27',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19438',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '4',
      type: 'newEdit',
      createdAt: '2016-09-01 07:59:44',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19437',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '3',
      type: 'newEdit',
      createdAt: '2016-09-01 07:54:02',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19436',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '2',
      type: 'newEdit',
      createdAt: '2016-09-01 07:52:55',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19173',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newChild',
      createdAt: '2016-08-26 14:11:59',
      auxPageId: 'product_universal_property',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19171',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newChild',
      createdAt: '2016-08-26 14:11:41',
      auxPageId: 'empty_set_universal_property',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19169',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newParent',
      createdAt: '2016-08-26 14:11:11',
      auxPageId: 'category_theory',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19170',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-08-26 14:11:11',
      auxPageId: 'stub_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19167',
      pageId: 'universal_property',
      userId: 'PatrickStevens',
      edit: '1',
      type: 'newEdit',
      createdAt: '2016-08-26 14:11:10',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    }
  ],
  feedSubmissions: [],
  searchStrings: {},
  hasChildren: 'true',
  hasParents: 'true',
  redAliases: {},
  improvementTagIds: [],
  nonMetaTagIds: [],
  todos: [],
  slowDownMap: 'null',
  speedUpMap: 'null',
  arcPageIds: 'null',
  contentRequests: {}
}