{
  localUrl: '../page/rice_theorem.html',
  arbitalUrl: 'https://arbital.com/p/rice_theorem',
  rawJsonUrl: '../raw/5mv.json',
  likeableId: '3249',
  likeableType: 'page',
  myLikeValue: '0',
  likeCount: '5',
  dislikeCount: '0',
  likeScore: '5',
  individualLikes: [
    'EricBruylant',
    'VladArber',
    'JaimeSevillaMolina',
    'SylvainChevalier',
    'PatrickStaples'
  ],
  pageId: 'rice_theorem',
  edit: '18',
  editSummary: '',
  prevEdit: '17',
  currentEdit: '18',
  wasPublished: 'true',
  type: 'wiki',
  title: 'Rice's Theorem',
  clickbait: 'Rice's Theorem tells us that if we want to determine pretty much anything about the behaviour of an arbitrary computer program, we can't in general do better than just running it.',
  textLength: '6301',
  alias: 'rice_theorem',
  externalUrl: '',
  sortChildrenBy: 'likes',
  hasVote: 'false',
  voteType: '',
  votesAnonymous: 'false',
  editCreatorId: 'PatrickStevens',
  editCreatedAt: '2016-08-14 10:28:35',
  pageCreatorId: 'PatrickStevens',
  pageCreatedAt: '2016-07-28 20:34:58',
  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: '368',
  text: '[summary: Rice's Theorem tells us that for *every* nontrivial property of computable functions, there is no general procedure which takes as its input a Turing machine, and computes whether or not the function computed by that machine has that property. That is, there is no general way to determine anything nontrivial about the output of an arbitrary Turing machine.]\n\nRice's Theorem is a rather surprising and very strong restriction on what we can determine about the [-3jy] computed by an arbitrary [5pd Turing machine].\nIt tells us that for *every* nontrivial property of computable functions %%note:By "nontrivial", we mean there is at least one function with that property and at least one without that property.%%, there is no general procedure which takes as its input a Turing machine, and computes whether or not the function computed by that machine has that property.\n\nTherefore, if we want to discover anything about the output of a general computer program, *in general* the best we can do is simply run the program.\nAs a corollary, there can be no *fully general* procedure that checks whether a piece of computer code is free of bugs or not.\n\n# Formal statement\n\nWe will use the notation $[n]$ for the $n$th [5pd Turing machine] under some fixed [description_number numbering system].\nEach such machine induces a [-5p2], which we will also write as $[n]$ where this is unambiguous due to context; then it makes sense to write $[n](m)$ for the value that machine $[n]$ outputs when it is run on input $m$.\n\nLet $A$ be a non-empty, proper %%note:That is, it is not the entire set.%% subset of $\\{ \\mathrm{Graph}(n) : n \\in \\mathbb{N} \\}$, where $\\mathrm{Graph}(n)$ is the [graph_of_a_function graph] of the [-5p2] computed by $[n]$, the $n$th Turing machine.\nThen there is no Turing machine $[r]$ such that:\n\n- $[r](i)$ is $1$ if $\\mathrm{Graph}(i) \\in A$\n- $[r](i)$ is $0$ if $\\mathrm{Graph}(i) \\not \\in A$.\n\n# Caveats\n\n- While this result tells us, for example, that "no procedure will ever be able to determine whether an arbitrary program is bug-free", in practice it may be possible to determine whether *a large class* of programs is bug-free, while accepting the fact that our procedure might not be able to solve the fully general case.\n\n- Additionally, this result only tells us about the *graphs* of the functions in question.\nWe can determine certain properties which are specific to the Turing machine: for example, we can tell whether the program will halt in five steps, by simply running it for five steps.\nThis does not contradict Rice, because Rice tells us only about the ultimate answer the machines spit out, and nothing about the procedures they use to get to the answer; "the machine halts in five steps" is not a property of the graph of the function, but is a property of the Turing machine itself.\n\n- Rice's theorem is only a restriction on whether we can *decide* the status of a function: that is, whether we can decide *whether or not* the function computed by some machine has a certain property. Rice tells us nothing if we're only looking for a procedure that "must find out in finite time whether a function *does* have a property, but is allowed to never give an answer if the function *doesn't* have the property".\nFor example, we can determine whether a partial function is defined anywhere (that is, it is not the empty function: the one which never outputs anything, whatever its input) by just attempting to evaluate the function in parallel at $0$, at $1$, at $2$, and so on.\nIf the partial function is defined anywhere, then eventually one of the parallel threads will discover this fact; but if it is defined nowhere, then the procedure might just spin on and on forever without giving any output.\nHowever, Rice's theorem does guarantee that there is no procedure which will tell us in finite time *whether or not* its input is a function which is defined somewhere; even though we have just specified a procedure which will tell us in finite time *if* its input is defined somewhere.\n\n# Proof outline\n\nSeveral proofs exist: for example, [5n6 one by reduction] to the [halting_problem halting problem], and one [5t9 standalone proof].\nHere, we sketch the standalone proof in broad strokes, because it goes via a neat lemma.\n\nThe intermediate lemma we prove is:\n\n> Let $h: \\mathbb{N} \\to \\mathbb{N}$ be [total_function total] computable: that is, it halts on every input.\nThen there is $n \\in \\mathbb{N}$ such that $\\mathrm{Graph}(n) = \\mathrm{Graph}(h(n))$. %%note:And, moreover, we can actually *find* such an $n$.%%\n\nThat is, the "underlying function" of $n$ - the partial function computed by $[n]$ - has the same output, at every point, as the function computed by $[h(n)]$.\nIf we view $h$ as a way of manipulating a program (as specified by its [-description_number]), then this fixed-point theorem states that we can find a program whose underlying function is not changed at all by $h$.\n\nThis lemma might be somewhat surprising: it "ought" to be possible to find a change one could make to arbitrary computer code, with the guarantee that the altered code must do something different to the original.\nThe fixed-point theorem tells us that this is not the case.\n\nThe proof of the lemma is very difficult to understand fully, but rather easy to state, because there are several useful shorthands which hide much of the complexity of what is really going on; full details, along with a worked example, can be found in [5t9 the accompanying lens].\n\nOnce we have the intermediate lemma, Rice's theorem itself follows quickly.\nIndeed, if the operation of "determine whether a machine computes a function whose graph is in $A$ or not" is computable, then we can do the following procedure:\n\n- Take some computer code as input.\n- Determine whether the code specifies a function whose graph is in $A$ or not.\n- If it is in $A$, output code for a specific (probably unrelated) function whose graph is *not* in $A$.\n- Otherwise, output code for a specific (probably unrelated) function whose graph is in $A$.\n\nThe fixed-point theorem tells us that some program isn't changed by the above procedure; but the procedure is guaranteed to interchange programs-from-$A$ with programs-not-from-$A$, so the procedure can't have any fixed points after all.\n',
  metaText: '',
  isTextLoaded: 'true',
  isSubscribedToDiscussion: 'false',
  isSubscribedToUser: 'false',
  isSubscribedAsMaintainer: 'false',
  discussionSubscriberCount: '1',
  maintainerCount: '1',
  userSubscriberCount: '0',
  lastVisit: '',
  hasDraft: 'false',
  votes: [],
  voteSummary: [
    '0',
    '0',
    '0',
    '0',
    '0',
    '0',
    '0',
    '0',
    '0',
    '0'
  ],
  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: {
    Summary: 'Rice's Theorem tells us that for *every* nontrivial property of computable functions, there is no general procedure which takes as its input a Turing machine, and computes whether or not the function computed by that machine has that property. That is, there is no general way to determine anything nontrivial about the output of an arbitrary Turing machine.'
  },
  creatorIds: [
    'PatrickStevens'
  ],
  childIds: [
    'rice_and_halt',
    'proof_of_rice_theorem',
    '6bf'
  ],
  parentIds: [
    'turing_machine'
  ],
  commentIds: [
    '5yr'
  ],
  questionIds: [],
  tagIds: [
    'math2',
    'b_class_meta_tag'
  ],
  relatedIds: [],
  markIds: [],
  explanations: [
    {
      id: '6540',
      parentId: 'rice_theorem',
      childId: 'rice_theorem',
      type: 'subject',
      creatorId: 'EricRogstad',
      createdAt: '2016-10-09 02:39:10',
      level: '3',
      isStrong: 'true',
      everPublished: 'true'
    },
    {
      id: '6539',
      parentId: 'rice_theorem',
      childId: '6bf',
      type: 'subject',
      creatorId: 'EricRogstad',
      createdAt: '2016-10-09 02:36:15',
      level: '2',
      isStrong: 'true',
      everPublished: 'true'
    }
  ],
  learnMore: [],
  requirements: [],
  subjects: [
    {
      id: '6540',
      parentId: 'rice_theorem',
      childId: 'rice_theorem',
      type: 'subject',
      creatorId: 'EricRogstad',
      createdAt: '2016-10-09 02:39:10',
      level: '3',
      isStrong: 'true',
      everPublished: 'true'
    }
  ],
  lenses: [
    {
      id: '114',
      pageId: 'rice_theorem',
      lensId: 'proof_of_rice_theorem',
      lensIndex: '0',
      lensName: 'Proof of Rice',
      lensSubtitle: '',
      createdBy: '267',
      createdAt: '2016-08-08 14:26:42',
      updatedBy: '267',
      updatedAt: '2016-08-08 14:26:51'
    },
    {
      id: '108',
      pageId: 'rice_theorem',
      lensId: 'rice_and_halt',
      lensIndex: '1',
      lensName: 'Rice and halt',
      lensSubtitle: '',
      createdBy: '2vh',
      createdAt: '2016-07-29 13:54:26',
      updatedBy: '2yv',
      updatedAt: '2016-10-07 17:55:14'
    },
    {
      id: '129',
      pageId: 'rice_theorem',
      lensId: '6bf',
      lensIndex: '2',
      lensName: 'Intro (Math 1)',
      lensSubtitle: '',
      createdBy: '2yv',
      createdAt: '2016-10-07 17:54:29',
      updatedBy: '2yv',
      updatedAt: '2016-10-07 17:55:13'
    }
  ],
  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: '19975',
      pageId: 'rice_theorem',
      userId: 'EricRogstad',
      edit: '0',
      type: 'newTeacher',
      createdAt: '2016-10-09 02:39:11',
      auxPageId: 'rice_theorem',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19976',
      pageId: 'rice_theorem',
      userId: 'EricRogstad',
      edit: '0',
      type: 'newSubject',
      createdAt: '2016-10-09 02:39:11',
      auxPageId: 'rice_theorem',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19973',
      pageId: 'rice_theorem',
      userId: 'EricRogstad',
      edit: '0',
      type: 'newTeacher',
      createdAt: '2016-10-09 02:36:15',
      auxPageId: '6bf',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '19879',
      pageId: 'rice_theorem',
      userId: 'DylanHendrickson',
      edit: '0',
      type: 'newChild',
      createdAt: '2016-10-07 17:54:17',
      auxPageId: '6bf',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18721',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '18',
      type: 'newEdit',
      createdAt: '2016-08-14 10:28:35',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18643',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '17',
      type: 'newEdit',
      createdAt: '2016-08-09 10:00:48',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18602',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '16',
      type: 'newEdit',
      createdAt: '2016-08-08 14:34:45',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18598',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '15',
      type: 'newEdit',
      createdAt: '2016-08-08 14:28:14',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18597',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'lensOrderChanged',
      createdAt: '2016-08-08 14:26:51',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18595',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newChild',
      createdAt: '2016-08-08 14:26:40',
      auxPageId: 'proof_of_rice_theorem',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18593',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '14',
      type: 'newEdit',
      createdAt: '2016-08-08 14:22:21',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18590',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '13',
      type: 'newEdit',
      createdAt: '2016-08-08 13:42:10',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18585',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '12',
      type: 'newEdit',
      createdAt: '2016-08-08 13:30:34',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18534',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '11',
      type: 'newEdit',
      createdAt: '2016-08-07 10:03:42',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18533',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '10',
      type: 'newEdit',
      createdAt: '2016-08-07 10:00:35',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18532',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'deleteTag',
      createdAt: '2016-08-07 10:00:21',
      auxPageId: 'needs_parent_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18530',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newParent',
      createdAt: '2016-08-07 10:00:20',
      auxPageId: 'turing_machine',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18528',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'deleteParent',
      createdAt: '2016-08-07 10:00:15',
      auxPageId: 'math',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18325',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '9',
      type: 'newEdit',
      createdAt: '2016-08-04 12:25:52',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18213',
      pageId: 'rice_theorem',
      userId: 'EricBruylant',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-08-03 15:51:06',
      auxPageId: 'math2',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18212',
      pageId: 'rice_theorem',
      userId: 'EricBruylant',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-08-03 15:50:42',
      auxPageId: 'b_class_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '18211',
      pageId: 'rice_theorem',
      userId: 'EricBruylant',
      edit: '0',
      type: 'newTag',
      createdAt: '2016-08-03 15:50:07',
      auxPageId: 'needs_parent_meta_tag',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17797',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '8',
      type: 'newEdit',
      createdAt: '2016-07-30 19:40:46',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17791',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '7',
      type: 'newEdit',
      createdAt: '2016-07-30 18:56:52',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17790',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '6',
      type: 'newEdit',
      createdAt: '2016-07-30 18:02:00',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17789',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '5',
      type: 'newEdit',
      createdAt: '2016-07-30 07:32:52',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17788',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '4',
      type: 'newEdit',
      createdAt: '2016-07-30 07:31:58',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17721',
      pageId: 'rice_theorem',
      userId: 'JaimeSevillaMolina',
      edit: '0',
      type: 'newChild',
      createdAt: '2016-07-29 13:53:53',
      auxPageId: 'rice_and_halt',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17715',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '3',
      type: 'newEdit',
      createdAt: '2016-07-29 12:01:27',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17693',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '2',
      type: 'newEdit',
      createdAt: '2016-07-28 20:36:36',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17692',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '0',
      type: 'newParent',
      createdAt: '2016-07-28 20:34:59',
      auxPageId: 'math',
      oldSettingsValue: '',
      newSettingsValue: ''
    },
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '17690',
      pageId: 'rice_theorem',
      userId: 'PatrickStevens',
      edit: '1',
      type: 'newEdit',
      createdAt: '2016-07-28 20:34:58',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    }
  ],
  feedSubmissions: [],
  searchStrings: {},
  hasChildren: 'true',
  hasParents: 'true',
  redAliases: {},
  improvementTagIds: [],
  nonMetaTagIds: [],
  todos: [],
  slowDownMap: 'null',
  speedUpMap: 'null',
  arcPageIds: 'null',
  contentRequests: {
    lessTechnical: {
      likeableId: '3368',
      likeableType: 'contentRequest',
      myLikeValue: '0',
      likeCount: '2',
      dislikeCount: '1',
      likeScore: '2',
      individualLikes: [],
      id: '42',
      pageId: 'rice_theorem',
      requestType: 'lessTechnical',
      createdAt: '2016-08-08 14:44:38'
    },
    slowDown: {
      likeableId: '3546',
      likeableType: 'contentRequest',
      myLikeValue: '0',
      likeCount: '1',
      dislikeCount: '0',
      likeScore: '1',
      individualLikes: [],
      id: '95',
      pageId: 'rice_theorem',
      requestType: 'slowDown',
      createdAt: '2016-09-26 02:47:58'
    }
  }
}