(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 136657, 3998] NotebookOptionsPosition[ 118326, 3396] NotebookOutlinePosition[ 122885, 3524] CellTagsIndexPosition[ 121680, 3493] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["BijectiveRules 1.1", "Title"], Cell["example notebook", "Subtitle"], Cell[TextData[{ "Eric Rowland\n", ButtonBox["http://math.tulane.edu/~erowland/packages.html", BaseStyle->"Hyperlink", ButtonData:>{ URL["http://math.tulane.edu/~erowland/packages.html"], None}] }], "Subsubtitle"], Cell["Load the package:", "Text"], Cell[BoxData[ RowBox[{"<<", "BijectiveRules`"}]], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Functions", "Section"], Cell[CellGroupData[{ Cell[TextData[StyleBox["AgreementLength", "Input"]], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "AgreementLength"}]], "Input"], Cell[BoxData[ StyleBox["\<\"AgreementLength[list1, list2] gives the number of positions at \ the beginning of two lists for which they contain identical elements.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423913948-2925868"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"AgreementLength", "[", RowBox[{ RowBox[{"{", RowBox[{"a", ",", "b", ",", "c", ",", "d"}], "}"}], ",", RowBox[{"{", RowBox[{"a", ",", "b", ",", "c", ",", "e"}], "}"}]}], "]"}]], "Input"], Cell[BoxData["3"], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"row", "=", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "100"}], "]"}], ",", "1"}], "]"}]}], "}"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"AgreementLength", "[", RowBox[{"row", ",", "#1"}], "]"}], "&"}], ")"}], "/@", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", "row"}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "10"}], ",", "10"}], "}"}], "}"}]}], "]"}]}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "3", ",", "1", ",", "6", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "101", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "6", ",", "1", ",", "3"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"row", "=", RowBox[{"Append", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "100"}], "]"}], ",", "1"}], "]"}]}], "}"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"AgreementLength", "[", RowBox[{ RowBox[{"Reverse", "[", "row", "]"}], ",", RowBox[{"Reverse", "[", "#1", "]"}]}], "]"}], "&"}], ")"}], "/@", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"30", ",", RowBox[{"{", RowBox[{"row", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "10"}], ",", "10"}], "}"}], "}"}]}], "]"}]}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "3", ",", "1", ",", "6", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "101", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "6", ",", "1", ",", "3"}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["ApplyRule", "Input"], ", ", StyleBox["ApplyRightBijectiveRuleInverse", "Input"] }], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "ApplyRule"}]], "Input"], Cell[BoxData[ StyleBox["\<\"ApplyRule[{n, k, r}, cells] gives the color of the cell \ yielded by the sequence cells under the given rule.\"\>", "MSG"]], "Print", \ "PrintUsage", CellTags->"Info3423913962-8982956"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "ApplyRightBijectiveRuleInverse"}]], "Input"], Cell[BoxData[ StyleBox["\<\"ApplyRightBijectiveRuleInverse[{n, k, r}, cells, rightcell] \ gives Append[Rest[cells], c], where c is such that Append[cells, c] yields \ rightcell under the given rule.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423913963-1568644"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ApplyRightBijectiveRuleInverse", "[", RowBox[{ RowBox[{"{", RowBox[{"86", ",", "2", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}], ",", "0"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ApplyRule", "[", RowBox[{ RowBox[{"{", RowBox[{"86", ",", "2", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0", ",", "1"}], "}"}]}], "]"}]], "Input"], Cell[BoxData["0"], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["BijectiveQ", "Input"], StyleBox[", ", "Text"], StyleBox["LeftBijectiveQ", "Input"], ", ", StyleBox["RightBijectiveQ", "Input"] }], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "LeftBijectiveQ"}]], "Input"], Cell[BoxData[ StyleBox["\<\"LeftBijectiveQ[rule] returns True if rule is left bijective \ and False otherwise.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423913967-7518075"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Select", "[", RowBox[{ RowBox[{"Range", "[", RowBox[{"0", ",", "255"}], "]"}], ",", "LeftBijectiveQ"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "15", ",", "30", ",", "45", ",", "60", ",", "75", ",", "90", ",", "105", ",", "120", ",", "135", ",", "150", ",", "165", ",", "180", ",", "195", ",", "210", ",", "225", ",", "240"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "RightBijectiveQ"}]], "Input"], Cell[BoxData[ StyleBox["\<\"RightBijectiveQ[rule] returns True if rule is right bijective \ and False otherwise.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423913968-3092802"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Select", "[", RowBox[{ RowBox[{"Range", "[", RowBox[{"0", ",", "255"}], "]"}], ",", "RightBijectiveQ"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "BijectiveQ"}]], "Input"], Cell[BoxData[ StyleBox["\<\"BijectiveQ[rule, p] returns True if rule is bijective in \ position p and False otherwise.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423913969-2610875"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Select", "[", RowBox[{ RowBox[{"Range", "[", RowBox[{"0", ",", "255"}], "]"}], ",", RowBox[{ RowBox[{"BijectiveQ", "[", RowBox[{"#", ",", "2"}], "]"}], "&"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "51", ",", "54", ",", "57", ",", "60", ",", "99", ",", "102", ",", "105", ",", "108", ",", "147", ",", "150", ",", "153", ",", "156", ",", "195", ",", "198", ",", "201", ",", "204"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Select", "[", RowBox[{ RowBox[{"Range", "[", RowBox[{"0", ",", "255"}], "]"}], ",", RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"And", "@@", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"BijectiveQ", "[", RowBox[{"n", ",", "#1"}], "]"}], "&"}], ")"}], "/@", RowBox[{"Range", "[", "3", "]"}]}]}]}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"105", ",", "150"}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["BorderBlockLength", "Input"]], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "BorderBlockLength"}]], "Input"], Cell[BoxData[ StyleBox["\<\"BorderBlockLength[list, backgroundcolor] gives the length of \ the first single-color block following the initial block of color \ backgroundcolor in list.\\nBorderBlockLength[list] uses background color 0.\"\ \>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423913976-4025147"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"BorderBlockLength", "[", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "2", ",", "2", ",", "3", ",", "3", ",", "3"}], "}"}], ",", "1"}], "]"}]], "Input"], Cell[BoxData["2"], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"BorderBlockLength", "/@", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "100"}], "]"}], ",", "1"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "10"}], ",", "10"}], "}"}], "}"}]}], "]"}]}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "1", ",", "6", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "101", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "6", ",", "1", ",", "3", ",", "1"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"BorderBlockLength", "/@", RowBox[{"Reverse", "/@", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"30", ",", RowBox[{"{", RowBox[{ RowBox[{"Append", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "100"}], "]"}], ",", "1"}], "]"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "10"}], ",", "10"}], "}"}], "}"}]}], "]"}]}]}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "1", ",", "6", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "101", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "6", ",", "1", ",", "3", ",", "1"}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["ColorCycle", "Input"], StyleBox[", ", "Text"], StyleBox["ColorCycles", "Input"] }], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "ColorCycle"}]], "Input"], Cell[BoxData[ StyleBox["\<\"ColorCycle[rule, c] gives the eventual cycle of tail colors \ obtained from tail color c under rule.\\nIf c is present in this cycle, c \ appears as the first entry in the cycle; otherwise the cycle is given in its \ canonical rotation.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423913984-9543470"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "ColorCycles"}]], "Input"], Cell[BoxData[ StyleBox["\<\"ColorCycles[rule] lists the possible cycles of tail colors \ under rule.\\nEach cycle is given in its canonical rotation.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423913984-9897132"] }, Open ]], Cell["\<\ Rule 30 has a white background, while rule 45 has an alternating background:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ColorCycles", "[", "30", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"{", "0", "}"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ColorCycles", "[", "45", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}], "}"}]], "Output"] }, Open ]], Cell["\<\ Rule 150 has either a white background or a black background:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ColorCycles", "[", "150", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", "1", "}"}]}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["ConvergenceSequence", "Input"], StyleBox[", ", "Text"], StyleBox["Rule30ConvergenceData", "Input"] }], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "ConvergenceSequence"}]], "Input"], Cell[BoxData[ StyleBox["\<\"ConvergenceSequence[rule, init, power, l] gives the agreement \ lengths for rows offset by successive powers of l in the evolution of the \ cellular automaton with the specified rule from initial condition \ init.\\nConvergenceSequence[rule, init, power] uses l = LCM[1, 2, ..., \ k].\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423913990-4593594"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ArrayPlot", "[", RowBox[{ RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "200"}], "]"}], ",", "1"}], "]"}]}], "}"}], ",", SuperscriptBox["2", "10"]}], "]"}], "\[LeftDoubleBracket]", RowBox[{ SuperscriptBox["2", RowBox[{"Range", "[", RowBox[{"0", ",", "10"}], "]"}]], "+", "1"}], "\[RightDoubleBracket]"}], "]"}]], "Input"], Cell[BoxData[ GraphicsBox[RasterBox[CompressedData[" 1:eJzdVVsOwjAMc/jlFFyJI+wCnJNbsbWJ7U4qCCEhRray9ZHUdtJxWW7X5QTg vLb72hBTw3ZvK1qL9hP50tzAfuRsd2kjfUWP0KyFiQxSQaNGcrZP9tUtWm5N z5yvHSt0xJRIws1I4XzCeTEQYD7lGqAe2YMhSYgBu6o3rGSfdzKgsNOMJEdi FdRSPwKOvxStZMGCSM8xyyBqMhaFhAHAYIyPErH2GxNB+k5W5VKoPWPjCpVO OAY6eMGwaJW3QUIlSJA4SBqU1hPhEutUSEAFs2qQLELjyGrbKhYl7MkZfc+g F50Z7CT5BpBPTV+C3vtZoK+sauxwwPd2eAJlf0Fis/k/ycHsAVADCSg= "], {{0, 0}, {201, 11}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"row", "=", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "200"}], "]"}], ",", "1"}], "]"}]}], "}"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"AgreementLength", "[", RowBox[{"row", ",", "#1"}], "]"}], "&"}], ")"}], "/@", RowBox[{ RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", "row"}], "}"}], ",", SuperscriptBox["2", "10"]}], "]"}], "\[LeftDoubleBracket]", RowBox[{ SuperscriptBox["2", RowBox[{"Range", "[", RowBox[{"0", ",", "10"}], "]"}]], "+", "1"}], "\[RightDoubleBracket]"}]}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "1", ",", "3", ",", "4", ",", "6", ",", "7", ",", "9", ",", "15", ",", "16", ",", "24", ",", "25", ",", "27"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ConvergenceSequence", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "200"}], "]"}], ",", "1"}], "]"}]}], "}"}], ",", "10"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "1", ",", "3", ",", "4", ",", "6", ",", "7", ",", "9", ",", "15", ",", "16", ",", "24", ",", "25", ",", "27"}], "}"}]], "Output"] }, Open ]], Cell["Many more terms of this sequence have been computed:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "Rule30ConvergenceData"}]], "Input"], Cell[BoxData[ StyleBox["\<\"Rule30ConvergenceData[n] gives the number of rightmost \ consecutive black cells on row 2^n-1 of rule 30 begun from a single black \ cell.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914123-5492777"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Rule30ConvergenceData", "[", RowBox[{"Range", "[", RowBox[{"0", ",", "45"}], "]"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "1", ",", "3", ",", "4", ",", "6", ",", "7", ",", "9", ",", "15", ",", "16", ",", "24", ",", "25", ",", "27", ",", "29", ",", "34", ",", "36", ",", "37", ",", "39", ",", "41", ",", "43", ",", "48", ",", "49", ",", "51", ",", "54", ",", "55", ",", "58", ",", "60", ",", "63", ",", "64", ",", "66", ",", "69", ",", "70", ",", "72", ",", "74", ",", "77", ",", "79", ",", "80", ",", "82", ",", "84", ",", "86", ",", "90", ",", "91", ",", "93", ",", "100", ",", "103", ",", RowBox[{"Missing", "[", "\<\"Unknown\"\>", "]"}], ",", RowBox[{"Missing", "[", "\<\"Unknown\"\>", "]"}], ",", RowBox[{"Missing", "[", "\<\"Unknown\"\>", "]"}]}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["DependenceStrengths", "Input"]], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "DependenceStrengths"}]], "Input"], Cell[BoxData[ StyleBox["\<\"DependenceStrengths[rule] gives, for each position in the \ rule, the probability that changing the input in that position changes the \ output.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914131-7803676"] }, Open ]], Cell["\<\ Rule 30 is left bijective, since changing the left bit always changes the \ output:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"DependenceStrengths", "[", "30", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"1", ",", FractionBox["1", "2"], ",", FractionBox["1", "2"]}], "}"}]], "Output"] }, Open ]], Cell["A cell under rule 0 has no dependence on the previous step:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"DependenceStrengths", "[", "0", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0"}], "}"}]], "Output"] }, Open ]], Cell["Rule 105 is bijective in each position:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"DependenceStrengths", "[", "105", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"1", ",", "1", ",", "1"}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["EquivalentRules", "Input"]], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "EquivalentRules"}]], "Input"], Cell[BoxData[ StyleBox["\<\"EquivalentRules[{n, k, r}] gives the rule numbers of all k\ \[Hyphen]color, radius r rules that are equivalent to the given rule under a \ permutation of colors.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914237-6008660"] }, Open ]], Cell["\<\ These are the 2-color rules depending on 3 cells that are equivalent to rule \ 86 under a permutation of colors.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"EquivalentRules", "[", "86", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"86", ",", "149"}], "}"}]], "Output"] }, Open ]], Cell["\<\ This gives the additional rules that are equivalent under a left\[Dash]right \ reflection.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"EquivalentRules", "[", RowBox[{"LeftRightReflection", "[", "86", "]"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"30", ",", "135"}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["LeftBijectiveInverse", "Input"], ", ", StyleBox["RightBijectiveInverse", "Input"] }], "Subsubsection"], Cell[TextData[{ "These functions are used by ", StyleBox["ReversibleCellularAutomaton", "Input"], " and probably aren't of much interest by themselves." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "LeftBijectiveInverse"}]], "Input"], Cell[BoxData[ StyleBox["\<\"LeftBijectiveInverse[rule] gives the radius 1/2 rule that \ computes the inverse of the given left bijective rule.\"\>", "MSG"]], "Print",\ "PrintUsage", CellTags->"Info3423914602-2606188"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "RightBijectiveInverse"}]], "Input"], Cell[BoxData[ StyleBox["\<\"RightBijectiveInverse[rule] gives the radius 1/2 rule that \ computes the inverse of the given right bijective rule.\"\>", "MSG"]], "Print",\ "PrintUsage", CellTags->"Info3423914605-3397832"] }, Open ]], Cell["This is the rule that computes the inverse of rule 86.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"RightBijectiveInverse", "[", "86", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"457907124", ",", "4", ",", FractionBox["1", "2"]}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ArrayPlot", "[", RowBox[{"CellularAutomaton", "[", RowBox[{ RowBox[{"{", RowBox[{"457907124", ",", "4", ",", FractionBox["1", "2"]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", "3", "}"}], ",", "0"}], "}"}], ",", "100"}], "]"}], "]"}]], "Input"], Cell[BoxData[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9mVGS3DAIRBGcJFfKEVKV79z/L+I1nhVT+zO2tGwlu2NZEg1Ni7F//fn3 +4+b2d/6Z2Fj+IgxInwO+PCYnywiGPU5GvOXzfH557xuOThyfN5mPifMe3Kd XMPmzXNCcHmunJOHMTAn5wYjp+Wq89bIhdjY2T+3nH/mZb8cYJvp4RzASfP0 Jr3W5TAmmwbm5ATjOc35lIvMvXLjwf65YzqTWAefBuvieDrmCTu9met44dHk IDA5Od1nWjpmQyHzENycl1edrdLSA9adQyOh5E0zaERI8bliRWAJ4PzEbMOx AMYcMMHlXrzLrfIn0v1cd2Tw082MVgwi5MTnilVGWAGc15gtxwwYpo2t8kC0 c6vg5mGs6+l4YhwZ5Ix9/h1LrILb0sVMs8lnskh0B25zV7oSXIBlgfumJfPG zAMuvPGKPXK/pF/GB1g5AtD8xcbiucOpDEcOG+5nFnAcOAN8b7ySFb9xIoes eJl4tDFECnEKBpEScCYc6oQ82De8KiTiNwAhcrwKyLUxRGJbF4Oc/Bm8rzoh D9/xqpCI305ykgFfBQQlxQGimLOSQbgMzlGOKw/f8erKCd6BAvp8FZAjMBIJ Ey0QElwW04dkSXn4jldXTvAOFNDnq4AkMHBAlPpIr5Y9ovg9JDkoylVAJrkh mVDqI71azcTvkpxRapv7ecnNuITrM71qSMRvhA9xwuncz/RRyZS4faJXDUkU WUKuGE7bMNUxgRD7PtSrnpMiSzElC6OOqWRLiBNShY/0quekyFJMMWlkBpoU iRP+uV71nDAJBTGCFdcxpfPDXNXxqV71nOAHCkJJEzRkSOdHOn9Hr97qxEYp CBvF65jS+YEI3NCrtzqpMyRGHezXMUWK8t8tveo5uc4Qq17Ir2MK1XW7qVc9 J1ZnCGyUGuqYIkXjrl71nOCHzluynFnnMinyu3rVc4IfOm8HtOKgojjJ9E29 6jnBD/qJzCn+SdFI0W296jnBj1Qlqo09YSyA7utVzwl+IIjMVt2xbowHetVz 4iKLitur7qIA3dernhP88Cruq+5YN57oVc8JfngV9xiqO9Z9pFc9J+q5q7gd lta6j/Sq54R7vIpbLK11H+lVzwm/XA0xjVAudvXd9/WqIdEvHX1qhOiz7Kle NSQyHX2mFJPcp3rVkND/1NGH8BOb53rVkOjrGdTkfyc2z/WqIdGPqxtBM0Jn yUO9akjUS7u6ETQjYodeNSRehwfVrTbVduhVQ2J1eFDdalO36FVDUu0w337p S2kbnutVQ0JScjd9vza1Dc/1qiHh0RAtMGvQU+zQq4aEDjHG9f2aRXboVUNC DkKPtkKPgrboVUOi9jSuZ2rb9KohUXuaUGDzNr1qSNSeWqiX36dXDYnaUz1e 3KlXDYnaU69efp9eNSRqT4d5PTzdpVcNCU9s6Uf36lVDwhPbbOw261VDkhI/ 8HWvXjUkTq8V2/WqIVGvtV+vGpJ66LRdrxqSeui0Xa8aknrotF2vGhJT8W3X q4ZE70/261VDovcn+/WqIdH7k/161ZDo/cl+vVqt3p/s16vVxjikV6uZH9Kr 1cYpvVrtmF6tdkyvVrNTerXaMb1azU7p1WrH9Go1O6VXqx3Tq9XslF6tdkyv VrNTerXaMb1azc7ySnaYVzI7yyvZYV7J7CyvZId5JbOzvJId5pXMjscqXu9P ju7xA7GKn4hVvN6fnLXzsYrX+5Ozdj5WET8Qq2n/AQIqWo8= "], {{0, 0}, {101, 101}}, {0, 3}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}]], "Output"] }, Open ]], Cell["\<\ Taking the inverse twice gives a 4-color, radius 1/2 rule that emulates the \ 2-color, radius 1 rule 86.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"RightBijectiveInverse", "[", RowBox[{"{", RowBox[{"457907124", ",", "4", ",", FractionBox["1", "2"]}], "}"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"454958004", ",", "4", ",", FractionBox["1", "2"]}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"GraphicsRow", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"ArrayPlot", "[", RowBox[{"CellularAutomaton", "[", RowBox[{ RowBox[{"{", RowBox[{"454958004", ",", "4", ",", FractionBox["1", "2"]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", "3", "}"}], ",", "0"}], "}"}], ",", "100"}], "]"}], "]"}], ",", RowBox[{"ArrayPlot", "[", RowBox[{"CellularAutomaton", "[", RowBox[{ RowBox[{"{", RowBox[{"86", ",", "2", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"-", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"-", "1"}], "}"}], ",", RowBox[{"{", "0", "}"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", "1", "}"}], ",", "0"}], "}"}], ",", "100"}], "]"}], "]"}]}], "}"}], ",", RowBox[{"ImageSize", "\[Rule]", "700"}]}], "]"}]], "Input"], Cell[BoxData[ GraphicsBox[{{}, {InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9mU2WJDcIhEGcxFfyEeY9r33/nTO+QE2PN1VZrRxNTf11SSKAAIT++vXv 379WRPzT/6NWRV5jRcbKuP5nXc+RtXJlpR5Reo21rpn+IjRhreJx/VmvlcwP va3UynH9iPWvf0xPT2GL63mxjRbSWnX95Pr59bXe6GfXzOtj8GBrZNQ+S2+v na4Xrcr6hZgpwfVTyaVnb6OFtBaAS6LozfV8/eoSQuJdD7a+PkggSVaSMtCQ cAgWYiK4ZmlvLaNfaFGvhUDSquTTL6WHQDytrSfpTPqVCFpR3wQ4SvsYicRA ueAtFJK8CllaRQuJI9CD9C5VLraWzgqj/W4P1pfx10I/Vi54A4Vojh7aGhUh nxQvPaAVAdS7kM4Co/1ujwJJSjuJXpBWlsGA6E7fyVhlqyDx4leBVjQFpWvB 9PNv9jAStIPggbRazzuibXlBWZNh+XBaOZK0oimSXV+wyP/tYSRoB9fG2bGn xGtOoBJ9D055jzmCU73gR+9Rae2EaYgSEotEc0IGY0dwanOcNtnuBT/qC0lg woCGBUmYgnoXrEh2TFM07LTS2Ut+DBIJhG2WX8pTUO+CFbKAMeE9OK2c4iU/ BomUipumvTU8BfWmDSafWDiuJ5sOr/kxSAIFpT3YCi2MYENjI73DcT15mRQv +TFIiKpI7BfRvLwhsYa5i68lJH9k79f8GCQO2RnbW3F8b2jx7JxQP/kbrv0O PwYJO2TvplnyJO9r8eycYIMUhIW3+PGNJ8Tf3o2Yl6aMhZQGytF3dWJb3vs1 P77xhERof3XMa8pYyNzvCGXOhfUmP77xxNyDyo55TZkO+ugMEqydC+NNfnzj CdEQW1uzpMPYQhIQoIRjMRje5Mc3nhB/V21vTdIssTZteSsGezsXvsuPQUKO c9jAW51ml9MviqBYsL2dC9/lxyAhq0dbwHzhsyxgRSzri+zPd+/yY5CQ1Vdb oKe6FmsUxEHCo+CsG/wYJGT1bDcxy6oTvFFk6wsxSPbv8mOQOC5FbG+l+HGC N4pofTlF3eHHIHFcKmqiZtlO8GvtjTuvu9h6mx+DpNBn2YPMsnApR3LySi76 oOgNfgyScHloD3LNQy1CUbktS7ahJr7Dj0FifbYHueYpqgoyeq8EOBP3Bj8G ieXYqnYR4pMCQd8rAU5h/hY/BonlyFZ1OufjvwT91TUFzLjJj0FiOUinq2se VxUO+sTC6qB8kx+DJL7U5tNVISKO7VyJL5gZN/kxSEZt2SVC2c4O+umI65Bw kx+DZNTW1W+0nR30sTV57D4/BonHaiwutzK+gj62TteOd/kxSChOnE67RLAD OY5wVvWx7j4/BsnyEWW5FHW5RQ28fOINx+hP+DFIXIHA6uwizDUwe+LFPt7d 58cgcQWCIqKLMNfA9mNOxh/yY5CQLayOcpnXNbD92N2Kz/gxSAj1VkeXedm5 JV1IrI/5MUhIUNXZJNNlVnabhTrsY34MkvARxdlkOXH5U7qM+5wfgyS7hi/3 ZKpDY4V7EfRzPuTHIFldwxM+OnFJPfhtuZ/zIT8GiWhCo4OyxYkL06QPkD/g xyARTdLdj8I0hEXsbgt8zo9BQh1X3V7zoZR0tbI7EJ/zY5CU61unL2oH95yg 5c/4MUi61xN2Z84QsKZg44/4MUi611N2Z+cun+Xrp/wYJB1qw50H5y6f5X/M j0FCicKBgA4RuWv5vP5TfgyS1R1Tl45VPmo7Xf6QH4Mku2PqsFV91Ha6PGAP I4m1DwTlrobU1x29A/YwEncG3fRxx4Ou7wl+DJJyZ6a6ZHdX6ww/BklwZk+f tckl+5R+xB5G4jN7n7UJXCsO8WOQ+MzuNjZaijzFj0HiM/vyWZvAdYwfg8T3 J+kOOoHrGD8GiWN9OZenc9dBexhJuccV3SD00eucPTRYwzndDcI6yI899v1J 7gbhSX7sse9PHFmstqP20Nj3J44sXaWetIfGvj9J3wGs4/bQ2Pcnq1c+bg+N fX+yeuXj9tDY9yfLN27n7aGx708yu0Fw2h4a+/6ko8p5e2js+5PYDYLT9tDY 9ycdVc7bQ2Pfn3RUOW8PjX1/kvs+9DyOuT/pqPIEjrk/yafsobHvTx6zh8a+ P3nMHhr7/uQxe2js+5PH7KGx708es4fGvj95EMfcnzyIY+5PHsQx9ydP7vF1 f/LkHl/3J4+OfNoeGo/bQyOfxzH3J4+OP4Cj/gSOqv8A5YdamQ== "], {{0, 0}, {101, 101}}, {0, 3}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {192., -141.98507462686567`}, ImageScaled[{0.5, 0.5}], {360., 270.44776119402985`}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJzdl2ty4zYQhGdyk1wpR9iq/M45c6tYNrr7G7JcXisSRRpreyUKBKZfA+rP X//89euPqvr77ffft9/q7rff24uPf/1+UT/r//bl9xtu13rdqr/rgzV3Xfq4 yTPWO22G2z/u9vuPWd5TV9dUl9Osf9WazVldA4QvVGXN/O1eCLXRqEc3r715 o8HhfXUqzBKa2ioHtGvu4qwL1VT2y2uAKZcL+hdzIsVXLLFpHLcHdKTW7e2r KKFUq+svcAnlWgviLmnaWXOUBf/BOxFJFVDUlM3lYF6TYJkjarCKPyrCvSMg LtDkEAC2tATh0hJHYS6CqFjaKfNn2XD9GkIy9o6ADNRwUzJM/0FWOKCM3EZp l02UWTQkfJKNCEEKt3t3lkSghpviM/rPJHkBrKUN0AIofmVpyPxZNqAIKKS6 eafyADFuqhQE/y2eURPW0gZyfzzRmWzlv8gGFIlxLHw7qyY2CGg63Y7+BDWD P3SCcOwyKuTeX2YDisQ4Bbh4l9SF6cjhLmGI4Tmw3DQADrs0KyxW8lU2oIhF 1To2k+9HPuLcSILQxkkDv/wCkr2zP8WMVPJVNqCI+NEuoiAguElIjROSfKpE /J39w459D97W69/PBhTpDn0QI+/GJiFV4qULeeYOf25KdthZajPj97MBRRyK HmLkHWkwQFMWEoJyhz+iuex2hTWX/V42oIg8XRWGx7uuzXyGGSRAVIeJdxo2 Llg1KvidbIBheZoMr8XQRNiP3DRhv1wLE7jPE7KaK/RVFfudbIDhQBiLqmB1 IInhueGuxrVM5I2ETcQk4Z5sQJFAWGwEmjYv/2DutF+uFW/ND2ATMUm4JxtQ BPOTw0WLLAYxNjzW7tq4NX/FjTCkQl+9JxtQhHgID34t/93xaOpsl7XC5sZY xsKrwiC6IxtQhHgQafo1ZO54NHW2C6KNG2MZC195fX82oEhl/QRTBUSG0dAc HfkedkG0caNt2WCkScZ92YAiWL/lAkuMTa2Z2hJ9j4Ag2rgRFYaRIhn3ZQOK YH0517VwU32edgXfIyCsKPNQYRc3MBn3ZQOKmCq9Qi3cNPUJGHyPgGQ94e0e FbKP/e9sQJHKmsk+jKpNU3NvlJgByXrt6c0KheYh2YAiWDPZn1F2K6g0I1pv ay43A033MtD7MdmAIoTTI7k2kFvBAg8bjriCXuL1G+35wGwYyIQzk2sDtVku Ysx/diUaR4shdGLq/ZhsGEhMg7aFbKsU9QW2q1TXs2ARFJETiAdnw0Bimo1f aCBrokZkdmdJ0Y0MeQks+rBsGMj05s7R9BUakdmdJUU3MvSUc2MHpAcb7k/w jKpiI3JPnSV1PIoKn3Ju7IBMNuyjOC2OQiNSbcY2MKuyvI7wj86GK59smMgY y1WxEblF21bJTKjPa/Py8Gy48rmMiRy4AtnVlfGIWGfGC1VePy8brnz7Fva2 uQMgLa3tLC9TUmqkLG3wKdlw5XPESG6Y1QDQnhNnKdLS6JhzYwdk/thq6jdp UOk9ZW1yqKjA2Yb9+nnZMBA5Ca3e7DrQlMfXlZVKnZqIxVqAn5QNA+l2qQyt OxSa55gjeygqZoDaHZANA3FC0X8sTHZuUztgJiro1IF+QDYMxAlF/2GHCtr0 HzbicZikmx2WDQNxQimCuqk6b4Na1xORjE5rHpgNA5l/LQ7Ld22zHvifgbBu x2TDQArEOyhxw/BUj3rKIllM5uagbBiIsyAbCF+cgUz7s1aTNemNRnFgNgzE Lcbsrn1Vz8i0neIma9IPPjd2QPxrdtOjqmdtTowFAOkHnxs7IGlUbrrZPER6 gsNE/7/g3NgByRnmppsjIRV4gqPe/vwl58YOSGpx083maqjusqFXV/WB0R6c DQNJLW0/GIEaqlCB3gpMz+8XZMNAJuEAxoYqVKjr1efGDkhqcb+V3dJQ3X/H jS89N3ZAUgs6rM4Lno9B6Qb9ynNjB6R5RKvDjqakWUjMCc6NHZBxRMtI5QIx C4k5wbmxA+K2mtJDa5ovrXSKc2MHBKebSs8H+km1C+h5smEgqjrZsAgxUqo9 zbmxA2LrOBtt9tmTodGpsmEgblBi3mhgpAhyumxouP2YeaOBkWpodKpsaKRB uRkNlj3pbOfGdiTlfpZSnXzKOt+5sR2xi5+lRvqh2TmzoeHzu/wslaMdL06b DY3KC/NPh7W1OWk2NPIUEv7pML04bTY0/Bxi3/CQzIvTZkMjzanZwlzy6bOh keZk7pslnz4bGoqHe9Wm5NNnQ6NsnNWiNiWfPhsaMY6eRmbJp8+Ghh+m/DTS eEC5QDY0ykW7C+MB5QLZ0MBTVbHyuko2NCpPVb1/QLlANjTwVOVH9ffrV8mG hr5pNJ7X60rZ0NA3DVtsPKBcRI3bqGK9+tpxoWxorDKN53LZ0ChHgl87LpQN jUTCHfda2dBwwH0cXiwbGnoWcfPqC6pxGwUzXTIbGjRT3l9w0EyXVeM2/GTV F1bjNniMXBiGv49cW43bqKtnQ+Py2dD4EWrcxo9Q4zbqZ8Dw95Hrj/8AwLo9 cQ== "], {{0, 0}, {201, 101}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {576., -141.98507462686567`}, ImageScaled[{0.5, 0.5}], {360., 270.44776119402985`}]}, {}}, ContentSelectable->True, ImageSize->700, PlotRangePadding->{6, 5}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["LeftBijectiveRules", "Input"], ", ", StyleBox["RightBijectiveRules", "Input"], ", ", StyleBox["LeftOrRightBijectiveRules", "Input"] }], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "LeftBijectiveRules"}]], "Input"], Cell[BoxData[ StyleBox["\<\"LeftBijectiveRules[k, r] lists the rule numbers of all left \ bijective k\[Hyphen]color, radius r rules.\"\>", "MSG"]], "Print", \ "PrintUsage", CellTags->"Info3423914628-5234947"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"LeftBijectiveRules", "[", RowBox[{"2", ",", "1"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "15", ",", "30", ",", "45", ",", "60", ",", "75", ",", "90", ",", "105", ",", "120", ",", "135", ",", "150", ",", "165", ",", "180", ",", "195", ",", "210", ",", "225", ",", "240"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "RightBijectiveRules"}]], "Input"], Cell[BoxData[ StyleBox["\<\"RightBijectiveRules[k, r] lists the rule numbers of all right \ bijective k\[Hyphen]color, radius r rules.\"\>", "MSG"]], "Print", \ "PrintUsage", CellTags->"Info3423914629-1400426"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"RightBijectiveRules", "[", RowBox[{"2", ",", "1"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "LeftOrRightBijectiveRules"}]], "Input"], Cell[BoxData[ StyleBox["\<\"LeftOrRightBijectiveRules[k, r] lists the rule numbers of all \ k\[Hyphen]color, radius r rules that are either left bijective or right \ bijective.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914631-1921141"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"LeftOrRightBijectiveRules", "[", RowBox[{"2", ",", "1"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "15", ",", "30", ",", "45", ",", "60", ",", "75", ",", "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "120", ",", "135", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170", ",", "180", ",", "195", ",", "210", ",", "225", ",", "240"}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["LeftfulPredecessor", "Input"], ", ", StyleBox["RightfulPredecessor", "Input"] }], "Subsubsection"], Cell[TextData[{ StyleBox["ReversibleCellularAutomaton", "Input"], " is generally faster than ", StyleBox["LeftfulPredecessor", "Input"], " and ", StyleBox["RightfulPredecessor", "Input"], " because it uses ", StyleBox["CellularAutomaton", "Input"], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "LeftfulPredecessor"}]], "Input"], Cell[BoxData[ StyleBox["\<\"LeftfulPredecessor[rule, {row, tailcolor}] gives the \ predecessor of a row with an infinite leftful history under the given left \ bijective rule.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914271-4486396"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"LeftfulPredecessor", "[", RowBox[{"30", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1"}], "}"}], ",", "0"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}], ",", "0"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "RightfulPredecessor"}]], "Input"], Cell[BoxData[ StyleBox["\<\"RightfulPredecessor[rule, {tailcolor, row}] gives the \ predecessor of a row with an infinite rightful history under the given right \ bijective rule.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914279-3537409"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"RightfulPredecessor", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["LeftfulSuccessor", "Input"], ", ", StyleBox["RightfulSuccessor", "Input"] }], "Subsubsection"], Cell[TextData[{ StyleBox["ReversibleCellularAutomaton", "Input"], " is generally faster than ", StyleBox["LeftfulSuccecessor", "Input"], " and ", StyleBox["Rightful", "Input"], StyleBox["Succ", "Input"], StyleBox["ecessor", "Input"], " because it uses ", StyleBox["CellularAutomaton", "Input"], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "LeftfulSuccessor"}]], "Input"], Cell[BoxData[ StyleBox["\<\"LeftfulSuccessor[rule, {row, tailcolor}] gives the successor \ of a row under the given rule.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914284-3884325"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"LeftfulSuccessor", "[", RowBox[{"30", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1"}], "}"}], ",", "0"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "1", ",", "1"}], "}"}], ",", "0"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "RightfulSuccessor"}]], "Input"], Cell[BoxData[ StyleBox["\<\"RightfulSuccessor[rule, {tailcolor, row}] gives the successor \ of a row under the given rule.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914285-4386448"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"RightfulSuccessor", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["LeftRightReflection", "Input"]], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "LeftRightReflection"}]], "Input"], Cell[BoxData[ StyleBox["\<\"LeftRightReflection[rule] gives the left\[Dash]right \ reflection of the given rule.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914289-4647696"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"LeftRightReflection", "[", "30", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"86", ",", "2", ",", "1"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"LeftRightReflection", "[", "86", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"30", ",", "2", ",", "1"}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["RandomLeftBijectiveRule", "Input"], ", ", StyleBox["RandomRightBijectiveRule", "Input"] }], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "RandomLeftBijectiveRule"}]], "Input"], Cell[BoxData[ StyleBox["\<\"RandomLeftBijectiveRule[k, r] produces a random left bijective \ k\[Hyphen]color, radius r rule.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914669-4860062"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "RandomRightBijectiveRule"}]], "Input"], Cell[BoxData[ StyleBox["\<\"RandomRightBijectiveRule[k, r] produces a random right \ bijective k\[Hyphen]color, radius r rule.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914670-3591301"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"RandomRightBijectiveRule", "[", RowBox[{"2", ",", "1"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"105", ",", "2", ",", "1"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"RandomRightBijectiveRule", "[", RowBox[{"5", ",", RowBox[{"3", "/", "2"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "169767624507489887113812975073583397770282544900250133671359607057582302862\ 649841742911901466830178660161340521292343043444815724035579116144377032447650\ 060239881153698853862826105643259884022888247738606776798925267156557372178488\ 928361542551332070210533529318905933263773171078030520807993902721908169415410\ 245528476328699976844845420273468100610249610625469004052335011766206735318327\ 17648183151087548832969928874489154641974559851454", ",", "5", ",", FractionBox["3", "2"]}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"RightBijectiveQ", "[", "%", "]"}]], "Input"], Cell[BoxData["True"], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["ReverseRow", "Input"]], "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "ReverseRow"}]], "Input"], Cell[BoxData[ StyleBox["\<\"ReverseRow[list] gives the left\[Dash]right reflection of a \ row of the form {lefttailcolor, row} or {row, righttailcolor}.\"\>", "MSG"]], "Print", "PrintUsage", CellTags->"Info3423914675-7138231"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ReverseRow", "[", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0"}], "}"}]}], "}"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1"}], "}"}], ",", "0"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ReverseRow", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1"}], "}"}], ",", "0"}], "}"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0"}], "}"}]}], "}"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["ReversibleCellularAutomaton", "Input"]], \ "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "ReversibleCellularAutomaton"}]], "Input"], Cell[BoxData[ StyleBox["\<\"ReversibleCellularAutomaton[rule, init, t] generates a list \ representing the evolution of the reversible cellular automaton with the \ specified rule from initial condition init for t \ steps.\\nReversibleCellularAutomaton[rule, init, {tspec}] gives only those \ parts of the evolution specified by tspec.\"\>", "MSG"]], "Print", \ "PrintUsage", CellTags->"Info3423914681-8077702"] }, Open ]], Cell["\<\ The following evaluations compute some rows in the history of right bijective \ rule 86.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", RowBox[{"-", "2"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", "2"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ArrayPlot", "[", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"86", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "100"}], "]"}], ",", "1"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "50"}], ",", "50"}], "}"}], "}"}]}], "]"}], "]"}]], "Input"], Cell[BoxData[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9VkmSG0EIBP/EX/ITJsLn+f/NMS1yQUtoaXBbapfoEmSSSWl+f33/+foV EX/rHZn1/vmXP6uod14eXS5uqC9g83FH8NhTn5DuWGvfkVxFK1xX1UF1+2o9 IJJLhdodVbwBDYGLQsNNBJyAmAKQRBJFRKTzCqgVJahQRbUvDQKXEcRJFgSU wiNw1rxEv1OXQXioRQNEGA7OmsdnoSsF4aEWDRBh1BIyuADYQ5FMu0daGBOD geYEv2y7TCEY/YkWxkTU2Rw8kIG9PU/nIq8uErS0eoCXMkGCl7RwTSA00gK8 mqNML83FHSbA3FTvzVGml+biDhMNRa9kzRGRt7RwTShttkrWnGjcXtbCNSEi WY3oJNwbc3FPkwQimldO4HS/Mxf3NAFGsxqdYFzf18KYYIGzSSNvi4+0MCZY ELd3LcnpAy2MSZlIuL1rWHykhTEJopbVdF6d0cKYoO9uNaY7pYUxwYAAc0t3 SgtjggEJOUzpTmlhTNhm+MnTndLCmCQG/JKkpzulhTGphDhBWPO8FsYEBtOp ZQN4SgtjAoXDs8aEFsZE5/zNoXJSC2PCeb89VE5qYUxCua4PlZNaGBPLdX2o DLAoJq0WYxNasMhVrVEtWIQS+M/GkBYsQgno2jktWCSIfF4LFkk1aFwLFrEG jWvBItYgfR6+vEErLDL5e7KjBYvYmCyV4O/JHosj+aYWLJLLLI4i2yyOItss jiL7Jfh7slzkv1z8SVl8lbm2X8k/7Nbudchv33P/fpmT5Xv9nuzey8fbdx7E ubauYllOWFonysLZC+sgFac1vT7cXMy21hc3J6rurAMnfvVvZc0DP+HpjXWi bXA2mA7Gy89ald9yOF6rTKGIHI1XvWNVcjV/T8VrciiXeX0oTqUkl3l9KE5u kou9HIuTmxkOvZyOszSfTcYD3Mxw6OVcPDGqNFw9H4xDqWY40p6K14A2w5H2 UBwDSgRZeOCMnIhnXTJcDRTQDMR5NcNBuZyJ85Xyt5Qbi8PiRZjt5ZFD338c 1zEAC7AaMdAnVPSDuFtO7e19JFc2WfPwNN4KVlIazvpIrsBW1V+KNyAc3AAy 7QVXfa5OvxZHY1BZhvO9JWSmV7QePInDYKicIQTay7nyig3o4zh1QCE3nI1u OtHWaQKVpW7joEekmNw2uuFEOckkZkTYMMWDsKyjJKM+ajN1c2JGhA1zV8qn 7mMZXrA4Qk2Y1io2mZNGSGZdm1yj55ubR+UXF94nzfOyD/BCOD10ofHsfnFD +KRxLxTzCZJ+hJudJ08cByzLaRZTJcMKSfEwuFc80VKNgXeeAFRTfbCJNZn5 n/FMMyTdwVoA9fP+BzjMGq4= "], {{0, 0}, {101, 101}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}]], "Output"] }, Open ]], Cell["\<\ Equivalently, we can consider the history of rule 30, its left\[Dash]right \ reflection.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"30", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1"}], "}"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "1", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Manipulate", "[", RowBox[{ RowBox[{"ArrayPlot", "[", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"30", ",", RowBox[{"{", RowBox[{ RowBox[{"Append", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "200"}], "]"}], ",", "1"}], "]"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{"t1", ",", "t2"}], "}"}], "}"}]}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{"t1", ",", RowBox[{"-", "100"}], ",", "100", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"t2", ",", RowBox[{"-", "100"}], ",", "100", ",", "1"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ TagBox[ StyleBox[ DynamicModuleBox[{$CellContext`t1$$ = -39, $CellContext`t2$$ = 78, Typeset`show$$ = True, Typeset`bookmarkList$$ = {}, Typeset`bookmarkMode$$ = "Menu", Typeset`animator$$, Typeset`animvar$$ = 1, Typeset`name$$ = "\"untitled\"", Typeset`specs$$ = {{ Hold[$CellContext`t1$$], -100, 100, 1}, { Hold[$CellContext`t2$$], -100, 100, 1}}, Typeset`size$$ = { 360., {106., 111.}}, Typeset`update$$ = 0, Typeset`initDone$$, Typeset`skipInitDone$$ = True, $CellContext`t1$9569$$ = 0, $CellContext`t2$9570$$ = 0}, DynamicBox[Manipulate`ManipulateBoxes[ 1, StandardForm, "Variables" :> {$CellContext`t1$$ = -100, $CellContext`t2$$ = -100}, "ControllerVariables" :> { Hold[$CellContext`t1$$, $CellContext`t1$9569$$, 0], Hold[$CellContext`t2$$, $CellContext`t2$9570$$, 0]}, "OtherVariables" :> { Typeset`show$$, Typeset`bookmarkList$$, Typeset`bookmarkMode$$, Typeset`animator$$, Typeset`animvar$$, Typeset`name$$, Typeset`specs$$, Typeset`size$$, Typeset`update$$, Typeset`initDone$$, Typeset`skipInitDone$$}, "Body" :> ArrayPlot[ BijectiveRules`ReversibleCellularAutomaton[30, { Append[ ConstantArray[0, 200], 1], 0}, {{$CellContext`t1$$, $CellContext`t2$$}}]], "Specifications" :> {{$CellContext`t1$$, -100, 100, 1}, {$CellContext`t2$$, -100, 100, 1}}, "Options" :> {}, "DefaultOptions" :> {}], ImageSizeCache->{409., {166., 171.}}, SingleEvaluation->True], Deinitialization:>None, DynamicModuleValues:>{}, SynchronousInitialization->True, UnsavedVariables:>{Typeset`initDone$$}, UntrackedVariables:>{Typeset`size$$}], "Manipulate", Deployed->True, StripOnInput->False], Manipulate`InterpretManipulate[1]]], "Output"], Cell[BoxData[ RowBox[{ RowBox[{"ArrayPlot", "::", "\<\"mat\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"Argument \\\\\\\"\\\", \ \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(BijectiveRules`\ ReversibleCellularAutomaton[\\(\\(30, \\(\\({\\(\\({0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \\(\\(\[LeftSkeleton] 151 \ \[RightSkeleton]\\)\\)}\\)\\), 0}\\)\\), \\(\\({\\({\\(\\(-39\\)\\), \ 78}\\)}\\)\\)\\)\\)]\\), \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\ \" at position \\\\\\\"\\\", \ \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(1\\), \ \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\" is not a list of \ lists.\\\\\\\"\\\", \\\"MT\\\"]\\) \ \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", \ ButtonFrame->None, ButtonData:>\\\"paclet:ref/ArrayPlot\\\", ButtonNote -> \\\ \"ArrayPlot::mat\\\"]\\)\"\>"}]], "Message", "MSG"], Cell[BoxData[ RowBox[{ RowBox[{"ArrayPlot", "::", "\<\"mat\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"Argument \\\\\\\"\\\", \ \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(BijectiveRules`\ ReversibleCellularAutomaton[\\(\\(30, \\(\\({\\(\\({0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \\(\\(\[LeftSkeleton] 151 \ \[RightSkeleton]\\)\\)}\\)\\), 0}\\)\\), \\(\\({\\({\\(\\(-39\\)\\), \ 78}\\)}\\)\\)\\)\\)]\\), \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\ \" at position \\\\\\\"\\\", \ \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(1\\), \ \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\" is not a list of \ lists.\\\\\\\"\\\", \\\"MT\\\"]\\) \ \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", \ ButtonFrame->None, ButtonData:>\\\"paclet:ref/ArrayPlot\\\", ButtonNote -> \\\ \"ArrayPlot::mat\\\"]\\)\"\>"}]], "Message", "MSG"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Sample session", "Section"], Cell["\<\ Here we explore 2-color, radius 1 (\"elementary\") right bijective rules.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"RightBijectiveRules", "[", RowBox[{"2", ",", "1"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170"}], "}"}]], "Output"] }, Open ]], Cell[TextData[{ "This shows which rules can have which backgrounds (white, black, \ alternating, or either). (", StyleBox["Classify", "Input"], " is part of my package ListTricks, which can be obtained from ", ButtonBox["http://math.rutgers.edu/~erowland/programs.html", BaseStyle->"Hyperlink", ButtonData:>{ URL["http://math.rutgers.edu/~erowland/programs.html"], None}], ".)" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{"Needs", "[", "\"\\"", "]"}], "\n", RowBox[{"Grid", "[", RowBox[{"Sort", "[", RowBox[{"Classify", "[", RowBox[{ RowBox[{"RightBijectiveRules", "[", RowBox[{"2", ",", "1"}], "]"}], ",", "ColorCycles"}], "]"}], "]"}], "]"}]}], "Input"], Cell[BoxData[ TagBox[GridBox[{ { RowBox[{"{", RowBox[{"85", ",", "89", ",", "101", ",", "105"}], "}"}], RowBox[{"{", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}], "}"}]}, { RowBox[{"{", RowBox[{"86", ",", "90", ",", "102", ",", "106"}], "}"}], RowBox[{"{", RowBox[{"{", "0", "}"}], "}"}]}, { RowBox[{"{", RowBox[{"149", ",", "153", ",", "165", ",", "169"}], "}"}], RowBox[{"{", RowBox[{"{", "1", "}"}], "}"}]}, { RowBox[{"{", RowBox[{"150", ",", "154", ",", "166", ",", "170"}], "}"}], RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", "1", "}"}]}], "}"}]} }, ColumnsEqual->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, RowsEqual->False], "Grid"]], "Output"] }, Open ]], Cell["\<\ The first class below supports initial conditions with a white background; \ the second class supports initial conditions with a black background.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Select", "[", RowBox[{"#1", ",", RowBox[{ RowBox[{"MemberQ", "[", RowBox[{ RowBox[{"Flatten", "[", RowBox[{"ColorCycles", "[", "#1", "]"}], "]"}], ",", "0"}], "]"}], "&"}]}], "]"}], ",", RowBox[{"Select", "[", RowBox[{"#1", ",", RowBox[{ RowBox[{"MemberQ", "[", RowBox[{ RowBox[{"Flatten", "[", RowBox[{"ColorCycles", "[", "#1", "]"}], "]"}], ",", "1"}], "]"}], "&"}]}], "]"}]}], "}"}], "&"}], ")"}], "[", RowBox[{"RightBijectiveRules", "[", RowBox[{"2", ",", "1"}], "]"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "150", ",", "154", ",", "166", ",", "170"}], "}"}], ",", RowBox[{"{", RowBox[{ "85", ",", "89", ",", "101", ",", "105", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170"}], "}"}]}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["White background initial conditions", "Subsection"], Cell["\<\ Here are the predecessor rows for the 12 right bijective rules which support \ white background initial conditions.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Grid", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"RightfulPredecessor", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "10"}], "]"}], ",", "1"}], "]"}]}], "}"}]}], "]"}]}], "}"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "150", ",", "154", ",", "166", ",", "170"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ TagBox[GridBox[{ {"85", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}], "}"}]}, {"86", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}], "}"}]}, {"89", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0"}], "}"}]}], "}"}]}, {"90", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1"}], "}"}]}], "}"}]}, {"101", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "0", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}], "}"}]}, {"102", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}], "}"}]}, {"105", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0"}], "}"}]}], "}"}]}, {"106", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]}, {"150", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "1", ",", "1"}], "}"}]}], "}"}]}, {"154", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1"}], "}"}]}], "}"}]}, {"166", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]}, {"170", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]} }, ColumnsEqual->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, RowsEqual->False], "Grid"]], "Output"] }, Open ]], Cell["Here is a little of each history:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"GraphicsGrid", "[", RowBox[{ RowBox[{"Partition", "[", RowBox[{ RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"ArrayPlot", "[", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "100"}], "]"}], ",", "1"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "32"}], ",", "32"}], "}"}], "}"}]}], "]"}], "]"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "150", ",", "154", ",", "166", ",", "170"}], "}"}]}], ",", "4"}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "700"}]}], "]"}]], "Input"], Cell[BoxData[ GraphicsBox[{{}, {{InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztz0EJACAABMHTJkaxghEE3/b/aQpBmIUNMG3uMWuSfl/3lBflRSQkJCQk JCQkJCQkJCQkJCQkJCQkJCQkJP9IDkdQD1M= "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {194.4, -124.52970297029702`}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.68316831683165`}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9VlFOQzEMi7kJR+EKHGES39z/j6nPdvM2CQ09h7J1WR7Edey2vN++P29v VfVxf3/d3wWOWj9Y31e2TgH4u8dH6cH++99GaRwoLoaHoAh0fCj5EgS4eK7a yyuXU8DHxPsDCy6T60db3i6n9vExTPZ1CDfczVZVlbukRWNSajMY9nKXtGhM 3Gb5qZe7pEVjQj60Es7lLmnRmLAg5GRhXteiMZHBgFYVCS0aEylcvWoltGhM oP3+fKhc1KIx8X5/PlQuatGY1K71eKhc1KIxabUeD5UACzI5YTmX0MIgD1hR LQxiCfq1EdLCIJbArs1pYZDyyvNaGAS7QXEtDNIaFNfCIK1B+3t49AaNsAB8 n8xoYZC2TYYgfJ/MsVjFJ7UwCIZZLJBpFgtkmsUCmYfwfTIM8i/DV8rgi+aa fsH/2I3NPOSnZ8zPxz4ZnnmfzM708fTsgxhjMcFAJwzFEKycPRCXqXRa6Xi5 mcym4sPNEOpMXDrx2b+R2Ac+5OmJGGqbnC2mwTz9vCP6DeE8I2CvohDNE29F lOvk71SeO8dyNa+H8lZqy9W8Hsqb25bLvYzlza0ZTr1M5w3tZ8l8iVsznHqZ y0Nb1Ybj82BeSp0MZ9qpPDfoyXCmHcprg3oF4HrkDCTy4NiG44bSagL5H0LA ExI= "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {583.2, -124.52970297029702`}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.68316831683165`}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9V1uS2zAMI3qTHqVX6BF2pt+9/183a+LBbNvZsaTYYzOSE4ogACX5/vb7 59u3qvrxfv16vwp9FB6Dxx0fk4/Xj6m6wvX8Y/LGUX2C2cCMTPgRupy6eyhh MeWV0c/55B6Mq1L15UJ0TUCd9JMVHOpLsW9qGpe8zYZwaL2r2Lg3ScAKDELp 9agrQJnRHVyAQSigoCBckBiW2Ohk0RcqGRDdtchGJ2tmCYLOwbo3JpYEYYN3 CcswGkuCiA7uYKNx9G2A2eGNgeMqfILZ4o0JBVKXNsqNbDQUq8sa2AlD9TPt Pm8MIKmuvd4YWEJVwG42iKWsqo3emDjCIrWdDeIIi+AEjIYiixyB0VBkkTMw alrk1DEscu7opY7BIJbDMOqYNwaO4zDqFTAuKC8A8oqjXnHWCy5QXyev4v+T k5f+n+BoxPgFcSjOX9f8dtkaC/xmL/7O2x+1mNAciFqst5eexd7oIXkqfRlv i06rrYxECeBypMJiKyNRArgcW2c86SCZaEekzmIv66Wt7lqN1Bk418y0mQrc 21YidVZcC1zV+b3w/RhM8OQ0pDiXcC8qj4ixOSWSQhaQJX1lbLGKirI5JZJZ QJb0lbHFamKetWczpdjN6Sjxb2OL1cRYe3Kmi5DYpY5O8Z+xxSoqQtPgB6QW ix0u4/rIv8cWq7uQu4u0bZbUrMqJirKexlouu5C7iwRjlmSAMZFlPY1VTnZB VZfqSZasbPGEWRY+jWkCd8EC6qyhFn2kIjXMKOL9Ma5PXVDVoigKkmUidZjL j8dY9drfbIEoslrYR2SqMFeqyzWzhenvaONUg801UoW5Ul2uObYaAwtWhxrS MnCqMFeqzWXGVmNgwapeTXNxCaEYnRtqxB9iMQ9q "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {972., -124.52970297029702`}, ImageScaled[{0.5, 0.5}], {360., 231.68316831683165`}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9l9EJwzAMRN1u0lG6Qkco9Lv7/zUQSggGvZN0ToIRQj0/O7Y4+nh/X+/7 GOO5jc82xq33SPrRfOWVdIYIGa0o76QTRcj522ZzEXJeVTYXIaOVi5BeLkLi e1/qi3mS+N6X+mKeJL73pb6YJznHbF2ExN+6dRbHJPEqW2dxTBJP0d7FPkmv LkIMfsEQg18wxOAXDImjCWLwC4YY/IIhBr9gSJybIAv6YoYs6IsZsqAvZsg5 LoIsPIsDsngXO2Q54oJd7JAL3u7/E2mQn1gi+Yklkp9YcvITS05+YsnJTyw5 +YmlTn5iqZOfWOrkJ5Y6+YmlTn5iqUer+K+kXY9/YqqTF9Aj6ckLGCLoyQ+U naCe/EDZCerJDxgi6MkPGCLoyQ8YIujJDxgi6LN9UdJn+6Kkz/ZFSZ/ti5K+ ehYpffUsUvrOLmR9DyHqf0Q3GUo= "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {1360.8000000000002`, -124.52970297029702`}, ImageScaled[{0.5, 0.5}], {359.9999999999998, 231.68316831683165`}]}, { InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztl11y2zAMhLG9SY/SK/QImelz7/9Wj8T9gePOxBLYp8phYEoKyQ/YpZTv H79/fnyrqh+P9uvRCsdROL+fcZ0+z6hfx1VcOiqmqnYWtUY+vhRiDe8eHOP4 2s4ec6xG1Ksgawy0IYrXVlvTXgY5fwFtjLMibperketW4tanSLbiDQyvmyli AwsF3KqGICxTtypfuo+BlKmLgLh0uxoygFxS4Og3vdFQTh65BCDFPW88gVim LsJ9bzyBMEtZhCFvJEzFjqiiT2EQBnS4y1+jGLF7ZflnMcBtKoo9Wg3NAGiK MW80FG1P/JnG8PPCIOMYfl5ggzc6TVhlHoM0zNwuDL9GbKmGKDZ5o6Hs8kZD 2eSNzyBbMabeqb4AsxdjwfzHeAPlXxzY/4kXyH0tXiD3Ndbl6X+e8VbcWY7p tkQ/3rlN1nyEnu3cJiWIueiXCGPFQ2YksiwNKx4yI/ElFjPo6/dix6PaVgY5 20CE8dqGxgSiBmJpzSDIEto6Q8DLcfGw9NzT6KRU3fW4eFh67mpeglWHy1EV kSWdIt6pfc7s70bByIxEhbNpVVyKWjkt6RRFNpVBi/ydqJVTzMxWyybFYm1I 7F/oS0USM7OldPl2eSvFLnX8vW8hR/ohb+b9Klz8gZRigpd9pj7rT0G0+1W4 +ANfEMHLvubOYUgV+UmPecFKqIhe9jV31L+li/eHx8qNCdWKbDT1Y+6oPxfY 7v/kLZ8UOC1F3jaRB0BYRupSXrQCk5ULKcuKt03kAdIyYRsPGerSyTRc4/XE hRggLWNjplOtLs0To3Re9asNYGernk9OlbQ9T4xSWpxvd+lCAzJLc5blUojl pSspRvE407AjumVsTGQSKCQlIATATNg/j88fzyAO7w== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {194.4, -373.58910891089107`}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9l1FuAyEMRCE36VFyhR4hUr57/7+saMJmbeHpqm/CyrKcQYwDGGu+bj/f t0tr7brZfbPW66HwP40mBsGxZVp/DEmrjSERxpA8933lGZJnvivPkLTaMyTC MyShHtD6mIuGekDrYy4a6gGtj7loP+4/Wh9z0bD/+HmMRUPe+HmMRVsdMyQi Zkgc/SOROPpHInH0j0QSzEPi6B+JxNE/EomjfySS4D0kzvqYJM76mCTO+pgk 3Xweg8R9HoPE/z8+cB6D5AMcUp8wQyoU4FP6hDKpUf5tsZ9YvNIniFf6BPGx n1j8vMmvHy1x6CeWWOkTLH5/vyzx+/71vt9vNFb6BImVPkHi8JsnTi9/nITg 4e1Pkwhc6RMKP7z9ORMAj+9/zgTAlT5BcKVPEDy+/zkTAF/d7z0TAl/c7z0T AFf6BMOLOcv7fwqv9rP39f0/hVf7+ZsJgNd5QLiYw+AP60gXzg== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {583.2, -373.58910891089107`}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9V1tyxSAI1e6kS+kWuoQ70+/u/6932qvyBhHLJFGBJJ6DhPj++P58vLXW Pp7n1/Ns3ZZT+3IzDsfcYvJ6kna1bEEUE3F7Mcf6li0ugFepb9m2gAyGIcfa mOrDMRkMN/JqaUz1YSiDNcqiNKb6IJLFMyZRHmdQdC0ftHFOlHzQxlkJ5UdP oyBPQW9Uxmkgkfw4k2B+nApjzxonkVDy7HEWCDpy9cJFgnMiWy8CUPB3CeqK kPDvUkFecCA0HnWxmEh4PIpR/EEZrMG2GMkgDbfVQArqhYukpl4EoFTnBUNy JS84kHuxmEjuxmJCuS//gKKzH6w7B//Hqr8K/1jlfVpPLvXt/UmJ3tuflOkH d2RlF+oBdx3NoFTfQHTWMXo8d1P+c8Wh61rhdGYZ/7Xi0Brvwqwke8gfeqE3 CrOS7EH/vf1Iyn93P5L1ZxxakvMXOLQk6Y8XfKMKx+4JyhP43bGuVOeJWE9G q/WpzkcC8qSTVutTnY+E8AxbyKllj8TE3Z+c7l/EekK59uyRmLj7E8/uIxnN jI5fP3YF5Ym27k/3L2I9kTi17D4SNE+d0528UO7fqx/7SIR6InGaRQHvdzk9 kd6FeiJxeiK/9/8AdwgRCQ== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {972., -373.58910891089107`}, ImageScaled[{0.5, 0.5}], {360., 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztzTENACAMAMGCE6RgAQlNmPG/0RUDTPfJzzfyrOwRMetdR/sQBAKBQCAQ CAQCgUAgEAgEAoFAIBAI5O0C9zIbsw== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {1360.8000000000002`, -373.58910891089107`}, ImageScaled[{0.5, 0.5}], {359.9999999999998, 231.6831683168317}]}, { InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy1l92RwyAMhCGdXCnXQkrITJ6v/7fLr0MkLSsJwSQ2CHk+YXuz4efyd76c Wmu/t+/19m193lbnn0lt/iHTHsS9kjY9sgwf5FUv6s/m3O1dL+rP5vyQ+6pf d3i8x2gs486VfO5wM+Isz7mS9nWWcZbng4izjLM8HwToAY1TDekBjXMQoAc0 Tq7Ep48FBNYDGucgTn2sQZz6WIMExzmIEETKLyhEaCLlFxQiNCFjNZCuf5eW daEgwidKdKEgxvMoRmifKH0WBwScayEVfkEhFX5BIRV+QSF9gy4UZIcuFGTn szggu1fxgOxH8P1JyUc7yIajZw+y3u98D7LcRz5SGwc+Uhpn+5OSOPKR0rj0 E+YvqXzpJ8xfUvnR/Ugu/6jjcw9n/pLKR+87arl88L7DizL50f1IKh+977iy RL584Zk3yABrpp8wb5AxChl18qRyb5AxvpJBJ12cUV/G+EoMP2E+wXShVzLo xOsTTBd6JYNOvD4R/Z9m+gnziRgC+ImuZD5PIZaf6Erm8xRi+YmuZD5PIZaf 6EpiujCvj/pHGGL5ia4k9yy+ro/6Rxhi+YmuZK09rv8HsDYXWQ== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {194.4, -622.6485148514851}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9l9EJwzAMRN1u0lG6Qkco9Lv7/zUQSggGvZN0ToIRQj0/O7Y4+nh/X+/7 GOO5jc82xq33SPrRfOWVdIYIGa0o76QTRcj522ZzEXJeVTYXIaOVi5BeLkLi e1/qi3mS+N6X+mKeJL73pb6YJznHbF2ExN+6dRbHJPEqW2dxTBJP0d7FPkmv LkIMfsEQg18wxOAXDImjCWLwC4YY/IIhBr9gSJybIAv6YoYs6IsZsqAvZsg5 LoIsPIsDsngXO2Q54oJd7JAL3u7/E2mQn1gi+Yklkp9YcvITS05+YsnJTyw5 +YmlTn5iqZOfWOrkJ5Y6+YmlTn5iqUer+K+kXY9/YqqTF9Aj6ckLGCLoyQ+U naCe/EDZCerJDxgi6MkPGCLoyQ8YIujJDxgi6LN9UdJn+6Kkz/ZFSZ/ti5K+ ehYpffUsUvrOLmR9DyHqf0Q3GUo= "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {583.2, -622.6485148514851}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztz7ENgEAQxMB7OqEUWqAEJGL6z/gWnDjyShuPfD7f/Rwzc+2/+7OEKUol DKkEIYJRCUQEoxKICEYlEBGMSiAiGJVARDAqgYhgVAIRwagEIoJRCUQEoxKI CEYlEBGMSiAiGJVARDAqgYhgrB9WoxuT "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {972., -622.6485148514851}, ImageScaled[{0.5, 0.5}], {360., 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztzTENACAMAMGCE6RgAQlNmPG/0RUDTPfJzzfyrOwRMetdR/sQBAKBQCAQ CAQCgUAgEAgEAoFAIBAI5O0C9zIbsw== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {1360.8000000000002`, -622.6485148514851}, ImageScaled[{0.5, 0.5}], {359.9999999999998, 231.6831683168317}]}}, {}}, ContentSelectable->True, ImageSize->700, PlotRangePadding->{6, 5}]], "Output"] }, Open ]], Cell["\<\ The following table counts the number of leftmost black cells for a range of \ 41 rows in the history.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"init", "=", RowBox[{"{", RowBox[{"0", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "100"}], "]"}], ",", "1"}], "]"}]}], "}"}]}], "}"}], ",", RowBox[{"Grid", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"BorderBlockLength", "/@", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"n", ",", "init", ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "10"}], ",", "10"}], "}"}], "}"}]}], "]"}]}]}], "}"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "150", ",", "154", ",", "166", ",", "170"}], "}"}]}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ TagBox[GridBox[{ {"85", RowBox[{"{", RowBox[{ "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1"}], "}"}]}, {"86", RowBox[{"{", RowBox[{ "1", ",", "6", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "101", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "6", ",", "1", ",", "3", ",", "1"}], "}"}]}, {"89", RowBox[{"{", RowBox[{ "3", ",", "1", ",", "1", ",", "2", ",", "2", ",", "2", ",", "1", ",", "2", ",", "3", ",", "1", ",", "1", ",", "99", ",", "2", ",", "2", ",", "1", ",", "1", ",", "3", ",", "1", ",", "1", ",", "2", ",", "2"}], "}"}]}, {"90", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}, {"101", RowBox[{"{", RowBox[{ "2", ",", "2", ",", "1", ",", "1", ",", "6", ",", "2", ",", "1", ",", "2", ",", "2", ",", "99", ",", "1", ",", "1", ",", "4", ",", "1", ",", "1", ",", "2", ",", "2", ",", "2", ",", "1", ",", "1", ",", "5"}], "}"}]}, {"102", RowBox[{"{", RowBox[{ "1", ",", "8", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "101", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "8", ",", "1", ",", "2", ",", "1"}], "}"}]}, {"105", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "5", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "98", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "5", ",", "1"}], "}"}]}, {"106", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}, {"150", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "1", ",", "3", ",", "1", ",", "2", ",", "1", ",", "3", ",", "1", ",", "2", ",", "1", ",", "3", ",", "1", ",", "2", ",", "1", ",", "3", ",", "1", ",", "2", ",", "1", ",", "3", ",", "1"}], "}"}]}, {"154", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}, {"166", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1"}], "}"}]}, {"170", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]} }, ColumnsEqual->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, RowsEqual->False], "Grid"]], "Output"] }, Open ]], Cell[TextData[{ "The next table counts the number of leftmost cells on row ", Cell[BoxData[ FormBox["t", TraditionalForm]]], " that agree with the initial condition." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"row", "=", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "100"}], "]"}], ",", "1"}], "]"}]}], "}"}], ",", RowBox[{"Grid", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"AgreementLength", "[", RowBox[{"row", ",", "#1"}], "]"}], "&"}], ")"}], "/@", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"0", ",", "row"}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "10"}], ",", "10"}], "}"}], "}"}]}], "]"}]}]}], "}"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "150", ",", "154", ",", "166", ",", "170"}], "}"}]}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ TagBox[GridBox[{ {"85", RowBox[{"{", RowBox[{ "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101"}], "}"}]}, {"86", RowBox[{"{", RowBox[{ "3", ",", "1", ",", "6", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "101", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "6", ",", "1", ",", "3"}], "}"}]}, {"89", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "4", ",", "0", ",", "1", ",", "0", ",", "2", ",", "0", ",", "1", ",", "0", ",", "101", ",", "0", ",", "1", ",", "0", ",", "2", ",", "0", ",", "1", ",", "0", ",", "4", ",", "0", ",", "1"}], "}"}]}, {"90", RowBox[{"{", RowBox[{ "4", ",", "2", ",", "16", ",", "2", ",", "4", ",", "2", ",", "8", ",", "2", ",", "4", ",", "2", ",", "101", ",", "2", ",", "4", ",", "2", ",", "8", ",", "2", ",", "4", ",", "2", ",", "16", ",", "2", ",", "4"}], "}"}]}, {"101", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "4", ",", "0", ",", "1", ",", "0", ",", "2", ",", "0", ",", "1", ",", "0", ",", "101", ",", "0", ",", "1", ",", "0", ",", "2", ",", "0", ",", "1", ",", "0", ",", "4", ",", "0", ",", "1"}], "}"}]}, {"102", RowBox[{"{", RowBox[{ "2", ",", "1", ",", "8", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "101", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "8", ",", "1", ",", "2"}], "}"}]}, {"105", RowBox[{"{", RowBox[{ "2", ",", "0", ",", "8", ",", "0", ",", "2", ",", "0", ",", "4", ",", "0", ",", "2", ",", "0", ",", "101", ",", "0", ",", "2", ",", "0", ",", "4", ",", "0", ",", "2", ",", "0", ",", "8", ",", "0", ",", "2"}], "}"}]}, {"106", RowBox[{"{", RowBox[{ "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101"}], "}"}]}, {"150", RowBox[{"{", RowBox[{ "2", ",", "1", ",", "8", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "101", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "8", ",", "1", ",", "2"}], "}"}]}, {"154", RowBox[{"{", RowBox[{ "4", ",", "2", ",", "16", ",", "2", ",", "4", ",", "2", ",", "8", ",", "2", ",", "4", ",", "2", ",", "101", ",", "2", ",", "4", ",", "2", ",", "8", ",", "2", ",", "4", ",", "2", ",", "16", ",", "2", ",", "4"}], "}"}]}, {"166", RowBox[{"{", RowBox[{ "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101"}], "}"}]}, {"170", RowBox[{"{", RowBox[{ "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101"}], "}"}]} }, ColumnsEqual->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, RowsEqual->False], "Grid"]], "Output"] }, Open ]], Cell[TextData[{ "Picking out the rows ", Cell[BoxData[ FormBox[ RowBox[{"t", "=", SuperscriptBox["2", "n"]}], TraditionalForm]]], " gives the following sequences." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"init", "=", RowBox[{"{", RowBox[{"0", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "200"}], "]"}], ",", "1"}], "]"}]}], "}"}]}], "}"}], ",", RowBox[{"Grid", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"ConvergenceSequence", "[", RowBox[{"n", ",", "init", ",", "8"}], "]"}]}], "}"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "86", ",", "89", ",", "90", ",", "101", ",", "102", ",", "105", ",", "106", ",", "150", ",", "154", ",", "166", ",", "170"}], "}"}]}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ TagBox[GridBox[{ {"85", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201"}], "}"}]}, {"86", RowBox[{"{", RowBox[{ "1", ",", "3", ",", "4", ",", "6", ",", "7", ",", "9", ",", "15", ",", "16", ",", "24"}], "}"}]}, {"89", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1", ",", "2", ",", "4", ",", "5", ",", "9", ",", "10", ",", "12", ",", "14"}], "}"}]}, {"90", RowBox[{"{", RowBox[{ "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201", ",", "201"}], "}"}]}, {"101", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1", ",", "2", ",", "4", ",", "5", ",", "7", ",", "9", ",", "13", ",", "14"}], "}"}]}, {"102", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201"}], "}"}]}, {"105", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201"}], "}"}]}, {"106", RowBox[{"{", RowBox[{ "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201"}], "}"}]}, {"150", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201"}], "}"}]}, {"154", RowBox[{"{", RowBox[{ "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201", ",", "201"}], "}"}]}, {"166", RowBox[{"{", RowBox[{ "1", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201"}], "}"}]}, {"170", RowBox[{"{", RowBox[{ "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201"}], "}"}]} }, ColumnsEqual->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, RowsEqual->False], "Grid"]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Black background initial conditions", "Subsection"], Cell["\<\ Here are the predecessor rows for the 12 right bijective rules which support \ black background initial conditions.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Grid", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"RightfulPredecessor", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"1", ",", "10"}], "]"}], ",", "0"}], "]"}]}], "}"}]}], "]"}]}], "}"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "89", ",", "101", ",", "105", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ TagBox[GridBox[{ {"85", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]}, {"89", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]}, {"101", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1"}], "}"}]}], "}"}]}, {"105", RowBox[{"{", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "1", ",", "1", ",", "0", ",", "1", ",", "1"}], "}"}]}], "}"}]}, {"149", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]}, {"150", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0"}], "}"}]}], "}"}]}, {"153", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]}, {"154", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "0", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}], "}"}]}, {"165", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0"}], "}"}]}], "}"}]}, {"166", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0", ",", "1", ",", "0"}], "}"}]}], "}"}]}, {"169", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}], "}"}]}, {"170", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ "0", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}], "}"}]} }, ColumnsEqual->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, RowsEqual->False], "Grid"]], "Output"] }, Open ]], Cell["Here is a little of each history:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"GraphicsGrid", "[", RowBox[{ RowBox[{"Partition", "[", RowBox[{ RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"ArrayPlot", "[", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"1", ",", "100"}], "]"}], ",", "0"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "32"}], ",", "32"}], "}"}], "}"}]}], "]"}], "]"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "89", ",", "101", ",", "105", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170"}], "}"}]}], ",", "4"}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "700"}]}], "]"}]], "Input"], Cell[BoxData[ GraphicsBox[{{}, {{InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztz0EJACAQAMHTJkaxghEOfNv/pykOhFnYADPyrOwRMd/73aKiVhEJCQkJ CQkJCQkJCQkJCQkJCQkJCQkJCck/kgtR0A7w "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {194.4, -124.52970297029702`}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.68316831683165`}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztl01y2zAMhR96kx6lV+gRMtN177+rR+L7gePOxBLYVeUwMCUFxAfgUcr3 j98/P74B+PEYvx6jcByFehy0x1fgPKN5HVdx6ZBPpIvjZC3Px5dCxPDuQR/H 13a2TtA6l3csV0CWDzQXxWtrrGUvg5y/gObjrIjH5Wpk3Erc+hTJlr2B4biZ Ig6wUMCtagjCbepR5Uv3MZBt6iIgLt2uhgQglRTo/aY2GsrJI5UApLinjScQ t6mLcF8bTyDMUhZhSBsJU7EjquhTGIQBFe7y1yhG7F5Z/lkMcJuKYo9WQysA WmJMGw1F2xN/pjH8vDDIOIafF9igjU4TUpnHIA0ztwvDrxFbqiGKTdpoKLu0 0VA2aeMzyFaMqXeqL8DsxVgw/zHeQPkXB/Z/4gVy34gXyH2DdXn6n2d8FHeW Y7kt1o93bpM1b6FnO7dJNcSc9UuEseIhM2JZloYVD5kR+xKLGfT1e7bjsdtW BrnagIXx2obGBKIGbClmEGQ12jpDwMt28bD03NOopOy663bxsPTc1RyCuw6X rSoiSTpFvFP7nNnftYKRGIkKZ9NdcckqckrSKYpsKoNu8nesImczM1stm2wW 94aa/QtzdZGamdlSuny7tJXNru74+9yNHOmHtJn3q3DxB+oUE7ycM/VZfzZE u1+Fiz/wBRG8nGvtdEOqyE9qzAEroSJ6OdfaUf+WLt4fGisPJlQRWWiax9pR fwbY7v+kLZ8UOCVF3raQHSAko+5SXhSBycqFlGTF2xayg5RMyMYuo7t0MgXX eL1wIRykZCzMVKq7S+uEl86reTUHVrbq+aRUtbbXCS+l4Hy7Sxc9ILE0Zbld ChFeqpLNKB5nGlZEl4yFiUwCG0kJiAZgJqyfx+cPyfEPVA== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {583.2, -124.52970297029702`}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.68316831683165`}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9V1ty2zAMXPQmPUqv0CNkJt+9/18TE/tA0nZSibQUGSFlg1jsLmV/f/n1 8+UbgB9v1+vbVeijUFWP1/e/xxjvU7XCul9+/38d1SeYDczIhI/wuNOrXjmU sJhyZfR93rkGY1WqvixEa2I1jSDcvKs41Jdi39Q0LnmZDeHQeqvYeG2SgDsw CKXXo64AZUZ38AYMQgEFBeGCxHCLjU4WfaGSAdFdN9noZM0sQdA5uO+NiSVB 2OBdwm0YjSVBRAd3sNE4+mWA2eGNgWMVPsFs8caEAqlLG+VGNhqK1WUN7ISh +pl2nzcGkFTXXm8MLKEqYDcbxFJW1UZvTBxhkdrOBnGERXACRkORRY7AaCiy yBkYNS1y6hgWOXf0UsdgEMthGHXMGwPHcRj1DBgLyhOAPOOoZ5z1hAvU18mr +Pvk5KXfJzgaMb5BHIrz2zWfLltjgU/24ve8/VGLCc2BqMV6e+lZ7I0ekqfS w3hbdFptZSRKAG9HKiy2MhIlgLdj64wnHSQT7YjUWexlvbTVXXcjdQbONTNt pgL3tjuROiuuBa7q/F74egwmeHIaUpxLuBaVR8TYnBJJIQvIkr4ytlhFRdmc EsksIEv6ythiNTEftWczpdjN6SjxT2OL1cRYe3Kmi5DYpY5O8Y+xxSoqQtPg B6QWix0uY33k72OL1V3I3UXaNktqVuVERVkfxlouu5C7iwRjlmSAMZFlfRir nOyCqi7VkyxZ2eIJsyx8GtME7oIF1FlDLfpIRWqYUcT7Y1yfuqCqRVEUJMtE 6jCXb4+x6rW/2QJRZLWwj8hUYa5Ul2tmC9Pf0capBptrpApzpbpcc2w1Bhas DjWkZeBUYa5Um8uMrcbAglX9N83FJYRidG6oEb8BNu8O2Q== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {972., -124.52970297029702`}, ImageScaled[{0.5, 0.5}], {360., 231.68316831683165`}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9V1tyxSAIxe6kS+kWuoQ70+/u/693eqsC8hKxTBIVSOI5SIjvj+/PxxsA fDzPr+fZwJZT+3QzDsfcYvL3JO1q2YIoBuLX+4S+ZYsL4lXqW7YtIJ1hzLE2 5vpwTDrDjb1aGnN9GEpnjbMojbk+iGTyTEmUxxkUoOWDNs6Jkg/aOCuh/IA0 CvYU8kZlnAYSyY8zCebHqSzsWeMkEk6ePc4CIUeuXrhIaE5k60UACv0uYV0R kvW7VJAXKxAej7pYDCRrPIpRvKB01nBbjKSTRttqIAX1wkVSUy8CUKrzYkFy JS9WIPdiMZDcjcWAcl/+AQUsP1h3jvUfq/4q/GOV93k9udS39yclem9/Uqbv 3LGVXahH3AGZQam+oejMo/fW3E35jxVHrnOF85ll/OeKI2schFlJ9pA/9iJv FGYl2YP+e/uRlP/ufiTrv3BoSc5f4NCSpD9d8I0rHLsnJE/wd8e6cp0nYj3p rdbnOh8JyhNgrdbnOh8J4xm3mFPLHomJuz853b+I9YRz7dkjMXH3J57dR9Kb ER2/fuwKyRNt3Z/uX8R6InFq2X0kZJ46pzt5ody/Vz/2kQj1ROI0iwLf73J6 IgBCPZE4PZHf+38AIhgNOg== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {1360.8000000000002`, -124.52970297029702`}, ImageScaled[{0.5, 0.5}], {359.9999999999998, 231.68316831683165`}]}, { InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9VlFOQzEMc7gJR+EKHGES39z/j6nPdvM2CQ09h7J1WSriOnb79n77/ry9 Afi4v7/u7wJHrb/jexVXdnAPjy/ro7RQ/v/fRmkcKC6Gh6AIdHwo+RIEuHnu 2tsrl1PAZeL9gQW3yf2jbW+XU/u4DJN9HcINd7NVVeUuadGYlNoMhr3cJS0a E7dZfurlLmnRmJAPrYRzuUtaNCYsCDlZmNe1aExkMKBVRUKLxkQKV69aCS0a E+i8P18qF7VoTHzeny+Vi1o0JrVrPV4qF7VoTFqtx0slwIJMTljOJbQwyANW VAuDWIL+2AhpYRBLYNfmtDBIeed5LQyC3aC4FgZpDYprYZDWoP09PHqDRlgA fp7MaGGQdkyGIPw8mWOxik9qYRAMs1gg0ywWyDSLBTIP4efJMMi/DD9SBl80 1/QL/mE3NvOSn54xPx/nZHjm82R2po+nZ1/EGIsJBjphKIZg5eyBuEyl00rH y81kNhUfboZQZ+LSjc/+jcS+8CFPT8RQ2+RsMQ3m6ecd0W8I5xkBexeFaJ54 K6JcJ3+n8jw5lqt5PZS3Uluu5vVQ3ty2XO5lLG9uzXDqZTpvaK8l8yVuzXDq ZS4PHVUbjuvBvJQ6Gc60U3ke0JPhTDuU1wH1DsD9yBlI5MGxDccDpd0E8j9W YAsx "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {194.4, -373.58910891089107`}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy1l92RwyAMhCGdXCnXQkrITJ6v/7fLr0MkLSsJwSQ2CHk+YXuz4efyd76c Wmu/t+/19u1t3lbnn0l9/iHTHsS9kj49sgwf5FUv6s/m3O1dL+rP5vyQ+6pf d3i8x2gs486VfO5wN+Isz7mS/nWWcZbng4izjLM8HwToAY1TDekBjXMQoAc0 Tq7Ep48FBNYDGucgTn2sQZz6WIMExzmIEETKLyhEaCLlFxQiNCFjNZCmf5eW daEgwidKdKEgxvMoRmifKH0WBwScayEVfkEhFX5BIRV+QSFtgy4UZIcuFGTn szggu1fxgOxH8P1JyUc7yIajZw+y3m98D7LcRz5SGwc+Uhpn+5OSOPKR0rj0 E+YvqXzpJ8xfUvnR/Ugu/6jjcw9n/pLKR+87arl88L7DizL50f1IKh+977iy RL584Zk3yABrpp8wb5AxChl18qRyb5AxvpJBJ02cUV/G+EoMP2E+wXShVzLo xOsTTBd6JYNOvD4R/Z9m+gnziRgC+ImuZD5PIZaf6Erm8xRi+YmuZD5PIZaf 6EpiujCvj/pHGGL5ia4k9yy+ro/6Rxhi+YmuZK09rv8H6NsG6g== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {583.2, -373.58910891089107`}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9l1FuAyEMRE1v0qP0Cj1CpHz3/n9d0ZRNbOFp1DdhZVnOIMYBjDXvl6/P y1tEfBx2PWxEPxT+pzHEIDiOTPuPIRm9MSTCGJLbvu88Q3LLd+cZktF7hkR4 hiTVA1ofa9FUD2h9rEVTPaD1sRaNx/1H62MtmvYfP4+5aMobP4+56OhjhkTE DImjfxQSR/8oJI7+UUiSeUgc/aOQOPpHIXH0j0KSvIfEWR+LxFkfi8RZH4sk zOcxSdznMUn8/+MF5zFJXsAh9QkzpEIBPqVPKJMa5d+W+4nFK32CeKVPEJ/7 icWvm/z7oyVO/cQSK32CxffvlyW+37+I836jsdInSKz0CRKn3zxxefnzJARP b3+ZROBKn1D4w9tfMwHw/P7XTABc6RMEV/oEwfP7XzMB8N39PjMh8M39PjMB cKVPMLyZs73/T+Hdfkbs7/9TeLefP5kAeJ8HhIs5DP4NrckGdQ== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {972., -373.58910891089107`}, ImageScaled[{0.5, 0.5}], {360., 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztz7ENgEAQxMB7OqEUWqAEJGL6z/gWnDjyShuPfD7f/Rwzc+2/+2uELUOp hCGVIEQwKoGIYFQCEcGoBCKCUQlEBKMSiAhGJRARjEogIhiVQEQwKoGIYFQC EcGoBCKCUQlEBKMSiAhGJRARjPkBQn0CsA== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {1360.8000000000002`, -373.58910891089107`}, ImageScaled[{0.5, 0.5}], {359.9999999999998, 231.6831683168317}]}, { InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9l9EJwzAMRJNu0lG6QkcI9Lv7/zUQSggGvZN0ToIRQj0/O7Y4+ty+7+2x LMtrH599rEvvkfRr85VX0hkiZG1FeSedKEKu3zabi5DrqrK5CFlbuQjp5SIk vvelvhgnie99qS/GSeJ7X+qLcZJrzNZFSPytW2dxThKvsnUW5yTxFO1dHJP0 6iLE4BcMMfgFQwx+wZA4miAGv2CIwS8YYvALhsS5CTKhL0bIhL4YIRP6YoRc 4yTIxLM4IZN3cUCmI27YxQG54e3+P5EG+Yklkp9YIvmJJSc/seTkJ5ac/MSS k59Y6uQnljr5iaVOfmKpk59Y6uQnlnq0iv9K2vX4J6Y6eQE9kp68gCGCnvxA 2QnqyQ+UnaCe/IAhgp78gCGCnvyAIYKe/IAhgj7bFyV9ti9K+mxflPTZvijp q2eR0lfPIqXv7ELW9xCi/gdU6QT5 "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {194.4, -622.6485148514851}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJy9l9EJwzAMRJNu0lG6QkcI9Lv7/zUQSggGvZN0ToIRQj0/O7Y4+ty+7+2x LMtrH599rEvvkfRr85VX0hkiZG1FeSedKEKu3zabi5DrqrK5CFlbuQjp5SIk vvelvhgnie99qS/GSeJ7X+qLcZJrzNZFSPytW2dxThKvsnUW5yTxFO1dHJP0 6iLE4BcMMfgFQwx+wZA4miAGv2CIwS8YYvALhsS5CTKhL0bIhL4YIRP6YoRc 4yTIxLM4IZN3cUCmI27YxQG54e3+P5EG+Yklkp9YIvmJJSc/seTkJ5ac/MSS k59Y6uQnljr5iaVOfmKpk59Y6uQnlnq0iv9K2vX4J6Y6eQE9kp68gCGCnvxA 2QnqyQ+UnaCe/IAhgp78gCGCnvyAIYKe/IAhgj7bFyV9ti9K+mxflPTZvijp q2eR0lfPIqXv7ELW9xCi/gdU6QT5 "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {583.2, -622.6485148514851}, ImageScaled[{0.5, 0.5}], {360.00000000000006`, 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztzTENACAMAMGCE6RgAQlNmPG/0RUDTPfJzzfyrOwRMetdt/gQBAKBQCAQ CAQCgUAgEAgEAoFAIBAI5O0Cod8CkA== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {972., -622.6485148514851}, ImageScaled[{0.5, 0.5}], {360., 231.6831683168317}], InsetBox[ GraphicsBox[RasterBox[CompressedData[" 1:eJztzTENACAMAMGCE6RgAQlNmPG/0RUDTPfJzzfyrOwRMetdt/gQBAKBQCAQ CAQCgUAgEAgEAoFAIBAI5O0Cod8CkA== "], {{0, 0}, {101, 65}}, {0, 1}], Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}], {1360.8000000000002`, -622.6485148514851}, ImageScaled[{0.5, 0.5}], {359.9999999999998, 231.6831683168317}]}}, {}}, ContentSelectable->True, ImageSize->700, PlotRangePadding->{6, 5}]], "Output"] }, Open ]], Cell["\<\ The following table counts the number of leftmost white cells for a range of \ 41 rows in the history.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"init", "=", RowBox[{"{", RowBox[{"1", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"1", ",", "100"}], "]"}], ",", "0"}], "]"}]}], "}"}]}], "}"}], ",", RowBox[{"Grid", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"BorderBlockLength", "[", RowBox[{"#1", ",", "1"}], "]"}], "&"}], ")"}], "/@", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"n", ",", "init", ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "10"}], ",", "10"}], "}"}], "}"}]}], "]"}]}]}], "}"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "89", ",", "101", ",", "105", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170"}], "}"}]}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ TagBox[GridBox[{ {"85", RowBox[{"{", RowBox[{ "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1", ",", "100", ",", "1"}], "}"}]}, {"89", RowBox[{"{", RowBox[{ "2", ",", "2", ",", "1", ",", "1", ",", "6", ",", "2", ",", "1", ",", "2", ",", "2", ",", "99", ",", "1", ",", "1", ",", "4", ",", "1", ",", "1", ",", "2", ",", "2", ",", "2", ",", "1", ",", "1", ",", "5"}], "}"}]}, {"101", RowBox[{"{", RowBox[{ "3", ",", "1", ",", "1", ",", "2", ",", "2", ",", "2", ",", "1", ",", "2", ",", "3", ",", "1", ",", "1", ",", "99", ",", "2", ",", "2", ",", "1", ",", "1", ",", "3", ",", "1", ",", "1", ",", "2", ",", "2"}], "}"}]}, {"105", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "5", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "98", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "5", ",", "1"}], "}"}]}, {"149", RowBox[{"{", RowBox[{ "1", ",", "6", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "101", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "6", ",", "1", ",", "3", ",", "1"}], "}"}]}, {"150", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "1", ",", "3", ",", "1", ",", "2", ",", "1", ",", "3", ",", "1", ",", "2", ",", "1", ",", "3", ",", "1", ",", "2", ",", "1", ",", "3", ",", "1", ",", "2", ",", "1", ",", "3", ",", "1"}], "}"}]}, {"153", RowBox[{"{", RowBox[{ "1", ",", "8", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "101", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "8", ",", "1", ",", "2", ",", "1"}], "}"}]}, {"154", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1", ",", "2", ",", "1"}], "}"}]}, {"165", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}, {"166", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}, {"169", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]}, {"170", RowBox[{"{", RowBox[{ "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}]} }, ColumnsEqual->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, RowsEqual->False], "Grid"]], "Output"] }, Open ]], Cell[TextData[{ "The next table counts the number of leftmost cells on row ", Cell[BoxData[ FormBox["t", TraditionalForm]]], " that agree with the initial condition." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"row", "=", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"1", ",", "100"}], "]"}], ",", "0"}], "]"}]}], "}"}], ",", RowBox[{"Grid", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"AgreementLength", "[", RowBox[{"row", ",", "#1"}], "]"}], "&"}], ")"}], "/@", RowBox[{"ReversibleCellularAutomaton", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"1", ",", "row"}], "}"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"-", "10"}], ",", "10"}], "}"}], "}"}]}], "]"}]}]}], "}"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "89", ",", "101", ",", "105", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170"}], "}"}]}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ TagBox[GridBox[{ {"85", RowBox[{"{", RowBox[{ "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101", ",", "0", ",", "101"}], "}"}]}, {"89", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "4", ",", "0", ",", "1", ",", "0", ",", "2", ",", "0", ",", "1", ",", "0", ",", "101", ",", "0", ",", "1", ",", "0", ",", "2", ",", "0", ",", "1", ",", "0", ",", "4", ",", "0", ",", "1"}], "}"}]}, {"101", RowBox[{"{", RowBox[{ "1", ",", "0", ",", "4", ",", "0", ",", "1", ",", "0", ",", "2", ",", "0", ",", "1", ",", "0", ",", "101", ",", "0", ",", "1", ",", "0", ",", "2", ",", "0", ",", "1", ",", "0", ",", "4", ",", "0", ",", "1"}], "}"}]}, {"105", RowBox[{"{", RowBox[{ "2", ",", "0", ",", "8", ",", "0", ",", "2", ",", "0", ",", "4", ",", "0", ",", "2", ",", "0", ",", "101", ",", "0", ",", "2", ",", "0", ",", "4", ",", "0", ",", "2", ",", "0", ",", "8", ",", "0", ",", "2"}], "}"}]}, {"149", RowBox[{"{", RowBox[{ "3", ",", "1", ",", "6", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "101", ",", "1", ",", "3", ",", "1", ",", "4", ",", "1", ",", "3", ",", "1", ",", "6", ",", "1", ",", "3"}], "}"}]}, {"150", RowBox[{"{", RowBox[{ "2", ",", "1", ",", "8", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "101", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "8", ",", "1", ",", "2"}], "}"}]}, {"153", RowBox[{"{", RowBox[{ "2", ",", "1", ",", "8", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "101", ",", "1", ",", "2", ",", "1", ",", "4", ",", "1", ",", "2", ",", "1", ",", "8", ",", "1", ",", "2"}], "}"}]}, {"154", RowBox[{"{", RowBox[{ "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101", ",", "1", ",", "101"}], "}"}]}, {"165", RowBox[{"{", RowBox[{ "4", ",", "2", ",", "16", ",", "2", ",", "4", ",", "2", ",", "8", ",", "2", ",", "4", ",", "2", ",", "101", ",", "2", ",", "4", ",", "2", ",", "8", ",", "2", ",", "4", ",", "2", ",", "16", ",", "2", ",", "4"}], "}"}]}, {"166", RowBox[{"{", RowBox[{ "4", ",", "2", ",", "16", ",", "2", ",", "4", ",", "2", ",", "8", ",", "2", ",", "4", ",", "2", ",", "101", ",", "2", ",", "4", ",", "2", ",", "8", ",", "2", ",", "4", ",", "2", ",", "16", ",", "2", ",", "4"}], "}"}]}, {"169", RowBox[{"{", RowBox[{ "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101"}], "}"}]}, {"170", RowBox[{"{", RowBox[{ "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101", ",", "101"}], "}"}]} }, ColumnsEqual->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, RowsEqual->False], "Grid"]], "Output"] }, Open ]], Cell[TextData[{ "Picking out the rows ", Cell[BoxData[ FormBox[ RowBox[{"t", "=", SuperscriptBox["2", "n"]}], TraditionalForm]]], " gives the following sequences." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"init", "=", RowBox[{"{", RowBox[{"1", ",", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"1", ",", "200"}], "]"}], ",", "0"}], "]"}]}], "}"}]}], "}"}], ",", RowBox[{"Grid", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"ConvergenceSequence", "[", RowBox[{"n", ",", "init", ",", "8"}], "]"}]}], "}"}]}], "]"}], "/@", RowBox[{"{", RowBox[{ "85", ",", "89", ",", "101", ",", "105", ",", "149", ",", "150", ",", "153", ",", "154", ",", "165", ",", "166", ",", "169", ",", "170"}], "}"}]}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ TagBox[GridBox[{ {"85", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201"}], "}"}]}, {"89", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1", ",", "2", ",", "4", ",", "5", ",", "7", ",", "9", ",", "13", ",", "14"}], "}"}]}, {"101", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1", ",", "2", ",", "4", ",", "5", ",", "9", ",", "10", ",", "12", ",", "14"}], "}"}]}, {"105", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201"}], "}"}]}, {"149", RowBox[{"{", RowBox[{ "1", ",", "3", ",", "4", ",", "6", ",", "7", ",", "9", ",", "15", ",", "16", ",", "24"}], "}"}]}, {"150", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201"}], "}"}]}, {"153", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201"}], "}"}]}, {"154", RowBox[{"{", RowBox[{ "1", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201"}], "}"}]}, {"165", RowBox[{"{", RowBox[{ "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201", ",", "201"}], "}"}]}, {"166", RowBox[{"{", RowBox[{ "2", ",", "4", ",", "8", ",", "16", ",", "32", ",", "64", ",", "128", ",", "201", ",", "201"}], "}"}]}, {"169", RowBox[{"{", RowBox[{ "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201"}], "}"}]}, {"170", RowBox[{"{", RowBox[{ "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201", ",", "201"}], "}"}]} }, ColumnsEqual->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, RowsEqual->False], "Grid"]], "Output"] }, Open ]] }, Closed]] }, Open ]] }, Open ]] }, AutoGeneratedPackage->None, WindowSize->{1264, 709}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, ShowSelection->True, TrackCellChangeTimes->False, FrontEndVersion->"7.0 for Microsoft Windows (64-bit) (February 18, 2009)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{ "Info3423913948-2925868"->{ Cell[1224, 53, 241, 4, 40, "Print", CellTags->"Info3423913948-2925868"]}, "Info3423913962-8982956"->{ Cell[4103, 159, 215, 4, 40, "Print", CellTags->"Info3423913962-8982956"]}, "Info3423913963-1568644"->{ Cell[4431, 171, 274, 4, 40, "Print", CellTags->"Info3423913963-1568644"]}, "Info3423913967-7518075"->{ Cell[5627, 222, 186, 3, 40, "Print", CellTags->"Info3423913967-7518075"]}, "Info3423913968-3092802"->{ Cell[6356, 249, 188, 3, 40, "Print", CellTags->"Info3423913968-3092802"]}, "Info3423913969-2610875"->{ Cell[7088, 277, 194, 3, 40, "Print", CellTags->"Info3423913969-2610875"]}, "Info3423913976-4025147"->{ Cell[8549, 334, 312, 5, 58, "Print", CellTags->"Info3423913976-4025147"]}, "Info3423913984-9543470"->{ Cell[10966, 422, 340, 5, 58, "Print", CellTags->"Info3423913984-9543470"]}, "Info3423913984-9897132"->{ Cell[11400, 435, 228, 4, 58, "Print", CellTags->"Info3423913984-9897132"]}, "Info3423913990-4593594"->{ Cell[12713, 497, 388, 6, 58, "Print", CellTags->"Info3423913990-4593594"]}, "Info3423914123-5492777"->{ Cell[15968, 602, 242, 4, 40, "Print", CellTags->"Info3423914123-5492777"]}, "Info3423914131-7803676"->{ Cell[17319, 641, 248, 4, 40, "Print", CellTags->"Info3423914131-7803676"]}, "Info3423914237-6008660"->{ Cell[18649, 699, 265, 4, 40, "Print", CellTags->"Info3423914237-6008660"]}, "Info3423914271-4486396"->{ Cell[33284, 1109, 251, 4, 40, "Print", CellTags->"Info3423914271-4486396"]}, "Info3423914279-3537409"->{ Cell[34295, 1144, 254, 4, 40, "Print", CellTags->"Info3423914279-3537409"]}, "Info3423914284-3884325"->{ Cell[35790, 1201, 197, 3, 40, "Print", CellTags->"Info3423914284-3884325"]}, "Info3423914285-4386448"->{ Cell[36743, 1235, 198, 3, 40, "Print", CellTags->"Info3423914285-4386448"]}, "Info3423914289-4647696"->{ Cell[37810, 1274, 188, 3, 40, "Print", CellTags->"Info3423914289-4647696"]}, "Info3423914602-2606188"->{ Cell[20027, 757, 220, 4, 40, "Print", CellTags->"Info3423914602-2606188"]}, "Info3423914605-3397832"->{ Cell[20351, 769, 222, 4, 40, "Print", CellTags->"Info3423914605-3397832"]}, "Info3423914628-5234947"->{ Cell[30549, 1009, 210, 4, 40, "Print", CellTags->"Info3423914628-5234947"]}, "Info3423914629-1400426"->{ Cell[31245, 1035, 212, 4, 40, "Print", CellTags->"Info3423914629-1400426"]}, "Info3423914631-1921141"->{ Cell[31952, 1061, 252, 4, 40, "Print", CellTags->"Info3423914631-1921141"]}, "Info3423914669-4860062"->{ Cell[38672, 1314, 200, 3, 40, "Print", CellTags->"Info3423914669-4860062"]}, "Info3423914670-3591301"->{ Cell[38979, 1325, 202, 3, 40, "Print", CellTags->"Info3423914670-3591301"]}, "Info3423914675-7138231"->{ Cell[40457, 1379, 231, 4, 40, "Print", CellTags->"Info3423914675-7138231"]}, "Info3423914681-8077702"->{ Cell[42810, 1449, 413, 7, 58, "Print", CellTags->"Info3423914681-8077702"]} } *) (*CellTagsIndex CellTagsIndex->{ {"Info3423913948-2925868", 118712, 3409}, {"Info3423913962-8982956", 118820, 3412}, {"Info3423913963-1568644", 118929, 3415}, {"Info3423913967-7518075", 119038, 3418}, {"Info3423913968-3092802", 119147, 3421}, {"Info3423913969-2610875", 119256, 3424}, {"Info3423913976-4025147", 119365, 3427}, {"Info3423913984-9543470", 119474, 3430}, {"Info3423913984-9897132", 119584, 3433}, {"Info3423913990-4593594", 119694, 3436}, {"Info3423914123-5492777", 119804, 3439}, {"Info3423914131-7803676", 119914, 3442}, {"Info3423914237-6008660", 120024, 3445}, {"Info3423914271-4486396", 120134, 3448}, {"Info3423914279-3537409", 120245, 3451}, {"Info3423914284-3884325", 120356, 3454}, {"Info3423914285-4386448", 120467, 3457}, {"Info3423914289-4647696", 120578, 3460}, {"Info3423914602-2606188", 120689, 3463}, {"Info3423914605-3397832", 120799, 3466}, {"Info3423914628-5234947", 120909, 3469}, {"Info3423914629-1400426", 121020, 3472}, {"Info3423914631-1921141", 121131, 3475}, {"Info3423914669-4860062", 121242, 3478}, {"Info3423914670-3591301", 121353, 3481}, {"Info3423914675-7138231", 121464, 3484}, {"Info3423914681-8077702", 121575, 3487} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[567, 22, 35, 0, 83, "Title"], Cell[605, 24, 36, 0, 49, "Subtitle"], Cell[644, 26, 222, 6, 47, "Subsubtitle"], Cell[869, 34, 33, 0, 29, "Text"], Cell[905, 36, 86, 2, 31, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[1016, 42, 28, 0, 71, "Section"], Cell[CellGroupData[{ Cell[1069, 46, 69, 0, 28, "Subsubsection"], Cell[CellGroupData[{ Cell[1163, 50, 58, 1, 31, "Input"], Cell[1224, 53, 241, 4, 40, "Print", CellTags->"Info3423913948-2925868"] }, Open ]], Cell[CellGroupData[{ Cell[1502, 62, 229, 6, 31, "Input"], Cell[1734, 70, 28, 0, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[1799, 75, 683, 22, 31, "Input"], Cell[2485, 99, 279, 6, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[2801, 110, 762, 24, 31, "Input"], Cell[3566, 136, 279, 6, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[3894, 148, 129, 4, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[4048, 156, 52, 1, 31, "Input"], Cell[4103, 159, 215, 4, 40, "Print", CellTags->"Info3423913962-8982956"] }, Open ]], Cell[CellGroupData[{ Cell[4355, 168, 73, 1, 31, "Input"], Cell[4431, 171, 274, 4, 40, "Print", CellTags->"Info3423913963-1568644"] }, Open ]], Cell[CellGroupData[{ Cell[4742, 180, 225, 6, 31, "Input"], Cell[4970, 188, 73, 2, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[5080, 195, 204, 6, 31, "Input"], Cell[5287, 203, 28, 0, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[5364, 209, 178, 6, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[5567, 219, 57, 1, 31, "Input"], Cell[5627, 222, 186, 3, 40, "Print", CellTags->"Info3423913967-7518075"] }, Open ]], Cell[CellGroupData[{ Cell[5850, 230, 155, 4, 31, "Input"], Cell[6008, 236, 250, 5, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[6295, 246, 58, 1, 31, "Input"], Cell[6356, 249, 188, 3, 40, "Print", CellTags->"Info3423913968-3092802"] }, Open ]], Cell[CellGroupData[{ Cell[6581, 257, 159, 5, 31, "Input"], Cell[6743, 264, 252, 5, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[7032, 274, 53, 1, 31, "Input"], Cell[7088, 277, 194, 3, 40, "Print", CellTags->"Info3423913969-2610875"] }, Open ]], Cell[CellGroupData[{ Cell[7319, 285, 226, 7, 31, "Input"], Cell[7548, 294, 251, 5, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[7836, 304, 425, 13, 31, "Input"], Cell[8264, 319, 77, 2, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[8390, 327, 71, 0, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[8486, 331, 60, 1, 31, "Input"], Cell[8549, 334, 312, 5, 58, "Print", CellTags->"Info3423913976-4025147"] }, Open ]], Cell[CellGroupData[{ Cell[8898, 344, 186, 5, 31, "Input"], Cell[9087, 351, 28, 0, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[9152, 356, 453, 13, 31, "Input"], Cell[9608, 371, 279, 6, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[9924, 382, 501, 15, 31, "Input"], Cell[10428, 399, 279, 6, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[10756, 411, 129, 4, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[10910, 419, 53, 1, 31, "Input"], Cell[10966, 422, 340, 5, 58, "Print", CellTags->"Info3423913984-9543470"] }, Open ]], Cell[CellGroupData[{ Cell[11343, 432, 54, 1, 31, "Input"], Cell[11400, 435, 228, 4, 58, "Print", CellTags->"Info3423913984-9897132"] }, Open ]], Cell[11643, 442, 100, 2, 29, "Text"], Cell[CellGroupData[{ Cell[11768, 448, 65, 1, 31, "Input"], Cell[11836, 451, 73, 2, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[11946, 458, 65, 1, 31, "Input"], Cell[12014, 461, 97, 3, 30, "Output"] }, Open ]], Cell[12126, 467, 85, 2, 29, "Text"], Cell[CellGroupData[{ Cell[12236, 473, 66, 1, 31, "Input"], Cell[12305, 476, 121, 4, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[12475, 486, 148, 4, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[12648, 494, 62, 1, 31, "Input"], Cell[12713, 497, 388, 6, 58, "Print", CellTags->"Info3423913990-4593594"] }, Open ]], Cell[CellGroupData[{ Cell[13138, 508, 565, 16, 33, "Input"], Cell[13706, 526, 558, 11, 49, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[14301, 542, 799, 24, 33, "Input"], Cell[15103, 568, 175, 4, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[15315, 577, 300, 9, 31, "Input"], Cell[15618, 588, 175, 4, 30, "Output"] }, Open ]], Cell[15808, 595, 68, 0, 29, "Text"], Cell[CellGroupData[{ Cell[15901, 599, 64, 1, 31, "Input"], Cell[15968, 602, 242, 4, 40, "Print", CellTags->"Info3423914123-5492777"] }, Open ]], Cell[CellGroupData[{ Cell[16247, 611, 131, 3, 31, "Input"], Cell[16381, 616, 726, 12, 50, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[17156, 634, 73, 0, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[17254, 638, 62, 1, 31, "Input"], Cell[17319, 641, 248, 4, 40, "Print", CellTags->"Info3423914131-7803676"] }, Open ]], Cell[17582, 648, 107, 3, 29, "Text"], Cell[CellGroupData[{ Cell[17714, 655, 73, 1, 31, "Input"], Cell[17790, 658, 127, 4, 45, "Output"] }, Open ]], Cell[17932, 665, 75, 0, 29, "Text"], Cell[CellGroupData[{ Cell[18032, 669, 72, 1, 31, "Input"], Cell[18107, 672, 83, 2, 30, "Output"] }, Open ]], Cell[18205, 677, 55, 0, 29, "Text"], Cell[CellGroupData[{ Cell[18285, 681, 74, 1, 31, "Input"], Cell[18362, 684, 83, 2, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[18494, 692, 69, 0, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[18588, 696, 58, 1, 31, "Input"], Cell[18649, 699, 265, 4, 40, "Print", CellTags->"Info3423914237-6008660"] }, Open ]], Cell[18929, 706, 136, 3, 29, "Text"], Cell[CellGroupData[{ Cell[19090, 713, 69, 1, 31, "Input"], Cell[19162, 716, 76, 2, 30, "Output"] }, Open ]], Cell[19253, 721, 114, 3, 29, "Text"], Cell[CellGroupData[{ Cell[19392, 728, 115, 2, 31, "Input"], Cell[19510, 732, 76, 2, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[19635, 740, 131, 4, 22, "Subsubsection"], Cell[19769, 746, 167, 4, 30, "Text"], Cell[CellGroupData[{ Cell[19961, 754, 63, 1, 31, "Input"], Cell[20027, 757, 220, 4, 40, "Print", CellTags->"Info3423914602-2606188"] }, Open ]], Cell[CellGroupData[{ Cell[20284, 766, 64, 1, 31, "Input"], Cell[20351, 769, 222, 4, 40, "Print", CellTags->"Info3423914605-3397832"] }, Open ]], Cell[20588, 776, 70, 0, 29, "Text"], Cell[CellGroupData[{ Cell[20683, 780, 75, 1, 31, "Input"], Cell[20761, 783, 113, 3, 45, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[20911, 791, 317, 10, 45, "Input"], Cell[21231, 803, 1954, 34, 374, "Output"] }, Open ]], Cell[23200, 840, 128, 3, 29, "Text"], Cell[CellGroupData[{ Cell[23353, 847, 162, 4, 45, "Input"], Cell[23518, 853, 113, 3, 45, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[23668, 861, 1030, 31, 72, "Input"], Cell[24701, 894, 5527, 96, 292, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[30277, 996, 183, 6, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[30485, 1006, 61, 1, 31, "Input"], Cell[30549, 1009, 210, 4, 40, "Print", CellTags->"Info3423914628-5234947"] }, Open ]], Cell[CellGroupData[{ Cell[30796, 1018, 94, 2, 31, "Input"], Cell[30893, 1022, 250, 5, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[31180, 1032, 62, 1, 31, "Input"], Cell[31245, 1035, 212, 4, 40, "Print", CellTags->"Info3423914629-1400426"] }, Open ]], Cell[CellGroupData[{ Cell[31494, 1044, 95, 2, 31, "Input"], Cell[31592, 1048, 252, 5, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[31881, 1058, 68, 1, 31, "Input"], Cell[31952, 1061, 252, 4, 40, "Print", CellTags->"Info3423914631-1921141"] }, Open ]], Cell[CellGroupData[{ Cell[32241, 1070, 101, 2, 31, "Input"], Cell[32345, 1074, 399, 7, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[32793, 1087, 127, 4, 22, "Subsubsection"], Cell[32923, 1093, 272, 9, 30, "Text"], Cell[CellGroupData[{ Cell[33220, 1106, 61, 1, 31, "Input"], Cell[33284, 1109, 251, 4, 40, "Print", CellTags->"Info3423914271-4486396"] }, Open ]], Cell[CellGroupData[{ Cell[33572, 1118, 350, 9, 31, "Input"], Cell[33925, 1129, 268, 7, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[34230, 1141, 62, 1, 31, "Input"], Cell[34295, 1144, 254, 4, 40, "Print", CellTags->"Info3423914279-3537409"] }, Open ]], Cell[CellGroupData[{ Cell[34586, 1153, 351, 9, 31, "Input"], Cell[34940, 1164, 268, 7, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[35257, 1177, 123, 4, 22, "Subsubsection"], Cell[35383, 1183, 320, 11, 30, "Text"], Cell[CellGroupData[{ Cell[35728, 1198, 59, 1, 31, "Input"], Cell[35790, 1201, 197, 3, 40, "Print", CellTags->"Info3423914284-3884325"] }, Open ]], Cell[CellGroupData[{ Cell[36024, 1209, 348, 9, 31, "Input"], Cell[36375, 1220, 268, 7, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[36680, 1232, 60, 1, 31, "Input"], Cell[36743, 1235, 198, 3, 40, "Print", CellTags->"Info3423914285-4386448"] }, Open ]], Cell[CellGroupData[{ Cell[36978, 1243, 349, 9, 31, "Input"], Cell[37330, 1254, 268, 7, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[37647, 1267, 73, 0, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[37745, 1271, 62, 1, 31, "Input"], Cell[37810, 1274, 188, 3, 40, "Print", CellTags->"Info3423914289-4647696"] }, Open ]], Cell[CellGroupData[{ Cell[38035, 1282, 73, 1, 31, "Input"], Cell[38111, 1285, 84, 2, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[38232, 1292, 73, 1, 31, "Input"], Cell[38308, 1295, 84, 2, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[38441, 1303, 137, 4, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[38603, 1311, 66, 1, 31, "Input"], Cell[38672, 1314, 200, 3, 40, "Print", CellTags->"Info3423914669-4860062"] }, Open ]], Cell[CellGroupData[{ Cell[38909, 1322, 67, 1, 31, "Input"], Cell[38979, 1325, 202, 3, 40, "Print", CellTags->"Info3423914670-3591301"] }, Open ]], Cell[CellGroupData[{ Cell[39218, 1333, 100, 2, 31, "Input"], Cell[39321, 1337, 85, 2, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[39443, 1344, 124, 3, 31, "Input"], Cell[39570, 1349, 554, 9, 109, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[40161, 1363, 68, 1, 31, "Input"], Cell[40232, 1366, 31, 0, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[40312, 1372, 64, 0, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[40401, 1376, 53, 1, 31, "Input"], Cell[40457, 1379, 231, 4, 40, "Print", CellTags->"Info3423914675-7138231"] }, Open ]], Cell[CellGroupData[{ Cell[40725, 1388, 475, 10, 31, "Input"], Cell[41203, 1400, 431, 9, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[41671, 1414, 475, 10, 31, "Input"], Cell[42149, 1426, 431, 9, 30, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[42629, 1441, 83, 1, 22, "Subsubsection"], Cell[CellGroupData[{ Cell[42737, 1446, 70, 1, 31, "Input"], Cell[42810, 1449, 413, 7, 58, "Print", CellTags->"Info3423914681-8077702"] }, Open ]], Cell[43238, 1459, 112, 3, 29, "Text"], Cell[CellGroupData[{ Cell[43375, 1466, 554, 12, 31, "Input"], Cell[43932, 1480, 1157, 23, 50, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[45126, 1508, 535, 11, 31, "Input"], Cell[45664, 1521, 1157, 23, 50, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[46858, 1549, 632, 15, 31, "Input"], Cell[47493, 1566, 1893, 37, 69, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[49423, 1608, 452, 14, 31, "Input"], Cell[49878, 1624, 1564, 28, 374, "Output"] }, Open ]], Cell[51457, 1655, 112, 3, 29, "Text"], Cell[CellGroupData[{ Cell[51594, 1662, 632, 15, 31, "Input"], Cell[52229, 1679, 1893, 37, 69, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[54159, 1721, 716, 21, 31, "Input"], Cell[54878, 1744, 1868, 39, 354, "Output"], Cell[56749, 1785, 1007, 17, 56, "Message"], Cell[57759, 1804, 1007, 17, 56, "Message"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[58827, 1828, 33, 0, 71, "Section"], Cell[58863, 1830, 97, 2, 29, "Text"], Cell[CellGroupData[{ Cell[58985, 1836, 95, 2, 31, "Input"], Cell[59083, 1840, 252, 5, 30, "Output"] }, Open ]], Cell[59350, 1848, 403, 10, 30, "Text"], Cell[CellGroupData[{ Cell[59778, 1862, 300, 8, 52, "Input"], Cell[60081, 1872, 859, 29, 72, "Output"] }, Open ]], Cell[60955, 1904, 170, 3, 29, "Text"], Cell[CellGroupData[{ Cell[61150, 1911, 745, 23, 31, "Input"], Cell[61898, 1936, 444, 12, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[62379, 1953, 57, 0, 36, "Subsection"], Cell[62439, 1955, 139, 3, 29, "Text"], Cell[CellGroupData[{ Cell[62603, 1962, 691, 20, 31, "Input"], Cell[63297, 1984, 3019, 90, 192, "Output"] }, Open ]], Cell[66331, 2077, 49, 0, 29, "Text"], Cell[CellGroupData[{ Cell[66405, 2081, 1018, 28, 52, "Input"], Cell[67426, 2111, 9461, 180, 350, "Output"] }, Open ]], Cell[76902, 2294, 126, 3, 29, "Text"], Cell[CellGroupData[{ Cell[77053, 2301, 1011, 30, 52, "Input"], Cell[78067, 2333, 3695, 90, 192, "Output"] }, Open ]], Cell[81777, 2426, 183, 5, 29, "Text"], Cell[CellGroupData[{ Cell[81985, 2435, 1141, 33, 72, "Input"], Cell[83129, 2470, 3819, 90, 192, "Output"] }, Open ]], Cell[86963, 2563, 188, 7, 29, "Text"], Cell[CellGroupData[{ Cell[87176, 2574, 810, 24, 52, "Input"], Cell[87989, 2600, 2226, 66, 192, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[90264, 2672, 57, 0, 28, "Subsection"], Cell[90324, 2674, 139, 3, 47, "Text"], Cell[CellGroupData[{ Cell[90488, 2681, 695, 20, 31, "Input"], Cell[91186, 2703, 3021, 90, 192, "Output"] }, Open ]], Cell[94222, 2796, 49, 0, 29, "Text"], Cell[CellGroupData[{ Cell[94296, 2800, 1020, 28, 52, "Input"], Cell[95319, 2830, 9484, 181, 350, "Output"] }, Open ]], Cell[104818, 3014, 126, 3, 29, "Text"], Cell[CellGroupData[{ Cell[104969, 3021, 1144, 34, 52, "Input"], Cell[106116, 3057, 3697, 90, 192, "Output"] }, Open ]], Cell[109828, 3150, 183, 5, 29, "Text"], Cell[CellGroupData[{ Cell[110036, 3159, 1143, 33, 72, "Input"], Cell[111182, 3194, 3821, 90, 192, "Output"] }, Open ]], Cell[115018, 3287, 188, 7, 29, "Text"], Cell[CellGroupData[{ Cell[115231, 3298, 812, 24, 52, "Input"], Cell[116046, 3324, 2228, 66, 192, "Output"] }, Open ]] }, Closed]] }, Open ]] }, Open ]] } ] *) (* End of internal cache information *)