(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Wolfram 15.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       154,          7]
NotebookDataLength[     67308,       1740]
NotebookOptionsPosition[     55530,       1531]
NotebookOutlinePosition[     58097,       1586]
CellTagsIndexPosition[     58019,       1581]
WindowTitle->CandidateEnumeration
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {GridBox[{
      {
       ItemBox[Cell[BoxData[
         RowBox[{
          TemplateBox[{12},
           "Spacer1"], Cell[
          "WOLFRAM INSTITUTE/ PUZZLES SYMBOL", "PacletNameCell",
           TextAlignment->Center,ExpressionUUID->
           "6f78b19a-063b-42d6-b84d-5e75054f736c"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "8e5a9778-33b0-4a20-9deb-5082f83e1343"],
        Background->LightDarkSwitched[
          RGBColor[0.490196, 0.576471, 0.690196]],
        ItemSize->Full], ""}
     },
     GridBoxAlignment->{"Rows" -> {{Center}}},
     GridBoxItemSize->{"Columns" -> {Full, 
         Scaled[0.02]}, "Rows" -> {{2.5}}}], Cell[TextData[{
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "See Also",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "27799864-514a-4195-8e58-82408cec3529"]
         }],ExpressionUUID->"ce4e7226-01a8-453b-8585-f4fa09791b9f"],
         StripOnInput->False],{
        StyleBox["\"Subsets\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup["paclet:ref/Subsets"], Delimiter, 
         StyleBox[
          "\"Functions\"", "SeeAlsoSection", FontSize -> 14, FontSlant -> 
           "Italic", StripOnInput -> False] :> 
         NotebookFind[EvaluationNotebook[], "SeeAlsoSection", All, CellStyle],
          StyleBox[
          StyleBox[
           "\"SubsetCandidates\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/SubsetCandidates"], 
         StyleBox[
          StyleBox[
           "\"PermutationCandidates\"", "SeeAlsoRelated", StripOnInput -> 
            False], "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/PermutationCandidates"], 
         StyleBox[
          StyleBox[
           "\"WordlistCandidates\"", "SeeAlsoRelated", StripOnInput -> False],
            "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/WordlistCandidates"], 
         StyleBox[
          StyleBox[
           "\"CandidateSweep\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/CandidateSweep"], 
         StyleBox[
          StyleBox[
           "\"SweepCheckpoint\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/SweepCheckpoint"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "4a9822f2-512e-46ba-bd83-563133c644a2"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "Related Guides",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "e8eb52f4-0e2f-45cd-90b2-20a992d9a138"]
         }],ExpressionUUID->"e6ef7132-f949-45d2-93c2-af1602f4135a"],
         StripOnInput->False],{
        "\"Search\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Search"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "f9e98b1b-8d10-4f54-bf02-c9586d3b7b22"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "URL",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "19d6e43f-b68c-4157-92c1-386adab36094"]
         }],ExpressionUUID->"6cdbf0dc-c5c2-436b-a401-80854f0ee5c6"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/CandidateEnumeration\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard["WolframInstitute/Puzzles/ref/CandidateEnumeration"],
          Delimiter, "\"Copy web URL\"" :> 
         Module[{DocumentationSearch`Private`nb$}, 
           DocumentationSearch`Private`nb$ = 
            NotebookPut[
             Notebook[{
               Cell[BoxData[
                 MakeBoxes[
                  Hyperlink[
                   "http://reference.wolfram.com/language/WolframInstitute/\
Puzzles/ref/CandidateEnumeration.html"], StandardForm]], "Input", 
                 TextClipboardType -> "PlainText"]}, Visible -> False]]; 
           SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
           FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
           NotebookClose[DocumentationSearch`Private`nb$]; Null], 
         "\"Go to web URL\"" :> 
         FrontEndExecute[{
           NotebookLocate[{
             URL[If[TrueQ[False], 
                 "http://reference.wolfram.com/system-modeler/", 
                 "http://reference.wolfram.com/language/"] <> 
               "WolframInstitute/Puzzles/ref/CandidateEnumeration" <> 
               ".html"], None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "bedb21ed-2328-4b55-9f75-e7740bef06f2"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "18fadaf1-5d8c-4071-ba8e-31c393da617d"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"21ab9256-18d2-4909-bca0-85fa880bea37"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"4c1bbebd-8bfd-42c6-8bab-f9f59187079b"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "CandidateEnumeration", "ObjectName",ExpressionUUID->
      "78619f25-ef16-43d5-92ad-4bc9f460be80"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"a023e850-cbf5-4e40-9eba-71df22f55a58"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "ddd674d1-54e9-4a8e-9313-e2d97c5db331"]
    }],ExpressionUUID->"3279de8a-e930-4220-bd70-d9d28a7340f8"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"21e73899-618d-4a99-9d79-\
09eb5bf8c86a"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["CandidateEnumeration"]], 
         "paclet:WolframInstitute/Puzzles/ref/CandidateEnumeration", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       RowBox[{"{", 
        RowBox[{
         StyleBox["cand\:2081", "TI"], ",", " ", 
         StyleBox["cand\:2082", "TI"], ",", " ", "\[Ellipsis]"}], "}"}], 
       "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "cc6f34dd-403e-42cf-97bc-2898d3426306"],
     "\[LineSeparator]",
     "gives an indexed enumeration of an explicit list of candidates."
    }],ExpressionUUID->"c07dc70b-c143-4c8d-9ee1-e76f08d1f33b"]},
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["CandidateEnumeration"]], 
         "paclet:WolframInstitute/Puzzles/ref/CandidateEnumeration", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       RowBox[{
        TemplateBox[{
          Cell[
           TextData["File"]], "paclet:ref/File"},
         "RefLink",
         BaseStyle->{"InlineFormula"}], 
        "[", "\"\<\!\(\*StyleBox[\"file\", \"TI\"]\)\>\"", "]"}], "]"}]], 
      "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "5602b368-0850-4dc8-a4bc-dc6eca911fc5"],
     "\[LineSeparator]",
     "gives an indexed enumeration of the lines of a text file, one candidate \
per line."
    }],ExpressionUUID->"51ffe38d-2084-4a24-9bc5-cf3c29cfddc1"]},
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["CandidateEnumeration"]], 
         "paclet:WolframInstitute/Puzzles/ref/CandidateEnumeration", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       RowBox[{"<|", 
        RowBox[{
         RowBox[{"\"\<Length\>\"", " ", "->", " ", 
          StyleBox["n", "TI"]}], ",", " ", 
         RowBox[{"\"\<Generator\>\"", " ", "->", " ", 
          StyleBox["f", "TI"]}]}], "|>"}], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "5c7713f9-39dc-436a-83f8-19860ca04c4f"],
     "\[LineSeparator]",
     "gives an indexed enumeration of ",
     StyleBox["n", "TI"],
     " candidates, the ",
     StyleBox["i", "TI"],
     "-th being ",
     StyleBox["f", "TI"],
     "[",
     StyleBox["i", "TI"],
     "]."
    }],ExpressionUUID->"59e21fdc-34ca-4876-b036-6a1a0206baf8"]}
  }]], "Usage",ExpressionUUID->"becb0f04-4ffe-4c22-a4be-a188f184ab06"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[Cell[TextData[{
  Cell[BoxData[
   DynamicBox[ToBoxes[
     If[CurrentValue[
        EvaluationCell[], "CellGroupOpen"] =!= Closed, 
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], 
      Rotate[
       Style[
        Graphics[{
          Thickness[0.18], 
          RGBColor[0.8509803921568627, 0.396078431372549, 0], 
          Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
         PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
        0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
    ImageSizeCache->{
     13.600000000000001`, {-0.1685058593749993, 13.768505859375}}]],
   ExpressionUUID->"91ac0fc9-795c-4c55-bccd-6edc70b53304"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"84e1ac94-4a5a-4dcc-a97e-b5a0da79126a"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "9ed8d843-30bb-48cd-8942-c4b392ad1c84"]],ExpressionUUID->"d281f362-bad8-\
4d12-ace7-78544548282b"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->1522641732,ExpressionUUID->"0511d2bd-645c-46f9-80c6-9cdd10cd8add"],

Cell[TextData[{
 "An enumeration is a length paired with a function from a 1-based index to a \
candidate, so the ",
 StyleBox["i", "TI"],
 "-th candidate is produced without materialising the ",
 StyleBox["i", "TI"],
 " - 1 before it."
}], "Notes",ExpressionUUID->"b84b443e-d7e2-42f6-9f54-d47b649cba38"],

Cell[TextData[{
 Cell[BoxData[
  RowBox[{
   StyleBox["enum", "TI"], "[", 
   StyleBox["i", "TI"], "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "bb8d2db9-dfb0-4a52-8f35-4cb2f335fdfd"],
 " gives the ",
 StyleBox["i", "TI"],
 "-th candidate. An index below 1 or above the length is not a candidate, so \
the call is returned unevaluated."
}], "Notes",ExpressionUUID->"4dc35aac-7699-4ab0-81db-8f9a85206aeb"],

Cell[TextData[{
 Cell[BoxData[
  RowBox[{
   StyleBox["enum", "TI"], "[", 
   RowBox[{
    StyleBox["i", "TI"], " ", ";;", " ", 
    StyleBox["j", "TI"]}], "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "ac13b5f4-cc74-4a59-bc79-95f2d5067296"],
 " gives the candidates ",
 StyleBox["i", "TI"],
 " through ",
 StyleBox["j", "TI"],
 ", clipped to the space. This is the chunk a sweep works in."
}], "Notes",ExpressionUUID->"3752a683-a01c-4ade-b134-47dcbdcfa61a"],

Cell[TextData[{
 Cell[BoxData[
  RowBox[{
   TemplateBox[{
     Cell[
      TextData["Normal"]], "paclet:ref/Normal"},
    "RefLink",
    BaseStyle->{"InlineFormula"}], "[", 
   StyleBox["enum", "TI"], "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "e32ffea0-eb09-44d2-bcc1-4c3d7f16f328"],
 " gives every candidate, and ",
 Cell[BoxData[
  RowBox[{
   TemplateBox[{
     Cell[
      TextData["Length"]], "paclet:ref/Length"},
    "RefLink",
    BaseStyle->{"InlineFormula"}], "[", 
   StyleBox["enum", "TI"], "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "9a72b609-e6a1-4d20-bdfe-8bf53791cc49"],
 " gives the count without producing any."
}], "Notes",ExpressionUUID->"a9ced32d-4f34-49ec-9515-70994c14be57"],

Cell[TextData[{
 Cell[BoxData[
  RowBox[{
   StyleBox["enum", "TI"], "[", "\<\"Length\"\>", "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "9153e9cc-207a-4aad-9acb-8fc90f35e13d"],
 ", ",
 Cell[BoxData[
  RowBox[{
   StyleBox["enum", "TI"], "[", "\<\"Kind\"\>", "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "df23f525-5ad6-4954-8f46-cabff138f242"],
 ", ",
 Cell[BoxData[
  RowBox[{
   StyleBox["enum", "TI"], "[", "\<\"Parameters\"\>", "]"}]], "InlineFormula",
  
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "50b9ab2f-ca81-4f33-ac4e-326baa1e1ccb"],
 " and ",
 Cell[BoxData[
  RowBox[{
   StyleBox["enum", "TI"], "[", "\<\"Generator\"\>", "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "5b25548a-061b-401f-adfa-533ae335cfc9"],
 " give the count, the constructor label, the data the space was built from, \
and the index function itself."
}], "Notes",ExpressionUUID->"bc152138-c9ba-4aea-8a67-4d509dc71a6a"],

Cell[TextData[{
 Cell[BoxData[
  RowBox[{
   StyleBox["enum", "TI"], "[", "\<\"Fingerprint\"\>", "]"}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "faa1a0cd-4262-466c-aa74-6877a6def98b"],
 " gives the content address of the space: the SHA-256 digest, through ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["CandidateFingerprint"]], 
    "paclet:WolframInstitute/Puzzles/ref/CandidateFingerprint", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "93ba3979-5315-49cf-ab7e-7469df21e36c"],
 ", of the constructor label, the parameters and the length. Two sessions \
that build the same space agree on it, which is what lets ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["CandidateSweep"]], 
    "paclet:WolframInstitute/Puzzles/ref/CandidateSweep", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "de27e545-c29f-4f1e-8637-dc978e18cf70"],
 " tell a checkpoint apart from one written for some other space."
}], "Notes",ExpressionUUID->"6d4f0dea-1b0d-4df0-9b81-8517e6738f32"],

Cell[TextData[{
 "The ",
 Cell[BoxData["\<\"Kind\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "7a0be468-fe31-4913-ba75-83ce40b8c26c"],
 " of an enumeration is ",
 Cell[BoxData["\<\"List\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "a41618a1-1607-450a-9c88-9b45d8b31d84"],
 ", ",
 Cell[BoxData["\<\"File\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "fc536e2c-9b57-4ae2-8053-39d036016b81"],
 ", ",
 Cell[BoxData["\<\"Subsets\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "f0388083-cfeb-4cf8-b483-4ba3e5ea32df"],
 ", ",
 Cell[BoxData["\<\"Permutations\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "ab3ca5fd-6e6b-402b-b799-3b2698cd1db6"],
 ", ",
 Cell[BoxData["\<\"Wordlist\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "9c553151-7b5e-45ec-9f43-78d3dc4ecc6f"],
 ", or ",
 Cell[BoxData["\<\"Custom\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "4664488c-dbea-40f6-ab9f-948d46b37ec5"],
 " for one built from an explicit association."
}], "Notes",ExpressionUUID->"b949cee2-201f-4813-b1b5-4d2e4cd34459"],

Cell[TextData[{
 "A file is read once, at construction, so the fingerprint covers the file's \
contents rather than its name. A file that cannot be read gives a ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Failure"]], "paclet:ref/Failure"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "4842c844-d878-4902-8ede-7ffc4bf5a37c"],
 "."
}], "Notes",ExpressionUUID->"b152b68d-fc66-417a-aec1-74dc996696f4"],

Cell[TextData[{
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["SubsetCandidates"]], 
    "paclet:WolframInstitute/Puzzles/ref/SubsetCandidates", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "a7108255-a8c4-4878-aa28-5053d88f19a2"],
 ", ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["PermutationCandidates"]], 
    "paclet:WolframInstitute/Puzzles/ref/PermutationCandidates", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "a3e1c15e-d482-4f9f-a3f3-327b7e389c7d"],
 " and ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["WordlistCandidates"]], 
    "paclet:WolframInstitute/Puzzles/ref/WordlistCandidates", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "2c11a8d6-889e-4f5a-bfa5-4a8d9fcf8b7b"],
 " all give a ",
 Cell[BoxData["CandidateEnumeration"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "442a75bc-6bc2-4bf7-ab4b-1d9ed285a0e7"],
 "."
}], "Notes",ExpressionUUID->"4e54901c-3d0d-42d5-9a4a-fd568421dc90"],

Cell[TextData[{
 "The association form is the hook for a candidate source outside the paclet: \
a generator that queries a solver or a language model, or a list of \
candidates a separate process produced. For a custom enumeration the \
fingerprint is taken over the ",
 Cell[BoxData["\<\"Parameters\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "42bdfcf1-4d8f-49b9-9001-2d0ef7598f67"],
 " value if one is given, and otherwise over the printed form of the \
generator, so a generator holding session-generated symbols is best paired \
with an explicit ",
 Cell[BoxData["\<\"Parameters\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "91dcc7b1-cf73-4d1d-93be-630c81250281"],
 " key."
}], "Notes",ExpressionUUID->"9d7e7aba-f50f-4c69-ab2e-1820947099d2"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"82f69436-7a1e-43e8-b81d-0248be13e134"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[
     MatchQ[
      CurrentValue[
       EvaluationNotebook[], {
       TaggingRules, "Openers", "PrimaryExamplesSection"}, Open], 
      Alternatives[True, Open]], 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
   ImageSizeCache->{
    13.600000000000001`, {4.251494140625001, 9.348505859375}}]],
  ExpressionUUID->"8ab2201e-8b66-4bc8-8742-9b74f3437b31"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"e722c7d6-4dbe-474a-9ca7-affac3f693ac"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(15)", "ExampleCount",ExpressionUUID->
  "bcc6a681-030b-4a2e-b239-d3cbc37705dc"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1624452072,ExpressionUUID->"b92c5827-cd7b-4884-bfb7-09155f32b0c3"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"80b7c28e-c4cc-4599-bf85-2034db8b45f0"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "02255072-ad77-4f0d-bb29-93f8d52c8344"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"be0ecac1-c891-43e5-85a4-4c2e788959fc"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(4)", "ExampleCount",ExpressionUUID->
  "bd561a17-ca11-4d4a-88d8-bd807e8bfa07"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1206369793,ExpressionUUID->"b2ad0e72-aa28-4946-8d45-5e96c4bae02e"],

Cell["An explicit list of candidates becomes an enumeration:", "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"cd5e3694-cc99-4726-92fa-a0790888398a"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Normal", "[", 
  RowBox[{"CandidateEnumeration", "[", 
   RowBox[{"{", 
    RowBox[{"\"\<hunter2\>\"", ",", " ", "\"\<correct horse\>\"", ",", 
     " ", "\"\<battery staple\>\""}], "}"}], "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"dca83a67-1f22-4119-9679-07ba0d78ebc9"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"hunter2\"\>", ",", "\<\"correct horse\"\>", 
   ",", "\<\"battery staple\"\>"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"5a2127ce-4048-4be0-b7ce-135aa71d3931"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "f0fefd20-d1ce-4599-8be6-a17417df601e"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"ebd7a941-7c24-46ee-\
927e-da640e43b7d1"],

Cell[TextData[{
 "The ",
 StyleBox["i", "TI"],
 "-th candidate is read off directly:"
}], "ExampleText",ExpressionUUID->"484af66f-25d5-4723-ba90-bf9550d2a078"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"CandidateEnumeration", "[", 
   RowBox[{"{", 
    RowBox[{"\"\<hunter2\>\"", ",", " ", "\"\<correct horse\>\"", ",", 
     " ", "\"\<battery staple\>\""}], "}"}], "]"}], "[", "2", "]"}]], "Input",\

 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"c5e2fc09-6f7a-4651-9b9e-b5138a4d3946"],

Cell[BoxData["\<\"correct horse\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"10c5303c-7b33-4204-8936-d0e6f98b7963"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "315bd12a-2221-465a-be19-219a4dc4ddf6"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"a541a8ac-1220-437b-\
bad9-45c0a11c7836"],

Cell["\<\
A custom generator describes a space by a rule rather than by a list:\
\>", "ExampleText",ExpressionUUID->"2bab3e1c-4fe4-4879-b020-71603a4e4191"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Normal", "[", 
  RowBox[{"CandidateEnumeration", "[", 
   RowBox[{"<|", 
    RowBox[{
     RowBox[{"\"\<Length\>\"", " ", "->", " ", "5"}], ",", " ", 
     RowBox[{"\"\<Generator\>\"", " ", "->", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"i", ",", " ", 
        RowBox[{"\"\<key-\>\"", " ", "<>", " ", 
         RowBox[{"IntegerString", "[", 
          RowBox[{"i", ",", " ", "10", ",", " ", "3"}], "]"}]}]}], "]"}]}]}], 
    "|>"}], "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"f84a391c-40c5-4078-95f8-6041b7507998"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"key-001\"\>", ",", "\<\"key-002\"\>", ",", "\<\"key-003\"\>", 
   ",", "\<\"key-004\"\>", ",", "\<\"key-005\"\>"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"e437f84f-0703-4de2-b09d-7905f61de2fd"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "ec75bf5a-0271-469a-be5f-c81c9abab790"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"09307529-af62-4fe4-\
b879-c26cd72b34d1"],

Cell["\<\
A candidate list a separate process wrote to disk, one per line:\
\>", "ExampleText",ExpressionUUID->"0dc9ebcf-8931-4a31-9b9b-98a9c22b7603"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"file", " ", "=", " ", 
     RowBox[{"FileNameJoin", "[", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"CreateDirectory", "[", "]"}], ",", 
        " ", "\"\<candidates.txt\>\""}], "}"}], "]"}]}], "}"}], ",", "\n", 
   "\t", 
   RowBox[{
    RowBox[{"Export", "[", 
     RowBox[{
     "file", ",", " ", "\"\<swordfish\\nhunter2\\nletmein\>\"", ",", 
      " ", "\"\<Text\>\""}], "]"}], ";", "\n", "\t", 
    RowBox[{"Normal", "[", 
     RowBox[{"CandidateEnumeration", "[", 
      RowBox[{"File", "[", "file", "]"}], "]"}], "]"}]}]}], "\n", 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"0fa59590-7c1f-425a-84fe-fa2c8ac7fdd0"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"swordfish\"\>", ",", "\<\"hunter2\"\>", 
   ",", "\<\"letmein\"\>"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"5911f774-1a93-40f9-8557-880e128079a0"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "24101f49-d510-4313-b552-d5928e0c4628"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"08b95acd-7876-4694-986f-eeded22128cf"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(5)", "ExampleCount",ExpressionUUID->
  "92748b51-9276-4555-8d25-3377f1f9a88d"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"571fa05c-ced9-43b3-a8a0-4bc8003919e1"],

Cell["The length of a space is known without producing any of it:", \
"ExampleText",ExpressionUUID->"4ebe9bc1-fff2-4096-a945-d37b4b9879d1"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Length", "[", 
  RowBox[{"CandidateEnumeration", "[", 
   RowBox[{"<|", 
    RowBox[{
     RowBox[{"\"\<Length\>\"", " ", "->", " ", 
      RowBox[{"10", "^", "12"}]}], ",", " ", 
     RowBox[{"\"\<Generator\>\"", " ", "->", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"i", ",", " ", 
        RowBox[{"IntegerString", "[", "i", "]"}]}], "]"}]}]}], "|>"}], "]"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"a646aba5-ca9c-44ae-8ab2-b2051489b5b1"],

Cell[BoxData["1000000000000"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"b72fa952-8fb4-410e-9948-faa438e67a7a"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "832956ba-d208-4805-a17b-d89434d7184d"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"08ecc5d5-6975-4414-\
a7a7-f9d6d80f5bac"],

Cell["A contiguous chunk is what a sweep asks for:", "ExampleText",ExpressionUUID->"97c564ad-1084-4418-9540-42718f4c9dc5"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"CandidateEnumeration", "[", 
   RowBox[{"<|", 
    RowBox[{
     RowBox[{"\"\<Length\>\"", " ", "->", " ", 
      RowBox[{"10", "^", "12"}]}], ",", " ", 
     RowBox[{"\"\<Generator\>\"", " ", "->", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"i", ",", " ", 
        RowBox[{"IntegerString", "[", "i", "]"}]}], "]"}]}]}], "|>"}], "]"}], 
  "[", 
  RowBox[{"999999999998", " ", ";;", " ", 
   RowBox[{"10", "^", "12"}]}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"3216b1fe-88dc-4c64-9d32-e5c963a77fba"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"999999999998\"\>", ",", "\<\"999999999999\"\>", 
   ",", "\<\"1000000000000\"\>"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"09c8965f-bf85-450a-9ca6-116f39ea2617"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "6a349f35-4605-48b3-b82c-e929e223218c"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"d1eb74d9-4cb4-49e5-\
a9c3-4819c60bcb88"],

Cell["A span is clipped to the space rather than padded:", "ExampleText",ExpressionUUID->"bde2955c-50aa-456d-acdf-9a34a897af10"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"CandidateEnumeration", "[", 
   RowBox[{"{", 
    RowBox[{"\"\<a\>\"", ",", " ", "\"\<b\>\"", ",", " ", "\"\<c\>\""}], 
    "}"}], "]"}], "[", 
  RowBox[{"2", " ", ";;", " ", "100"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"2c4651cc-e6be-463b-a1a6-62879018058e"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"b\"\>", ",", "\<\"c\"\>"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"1ef02410-6b90-41f2-9f23-ebb5636c4925"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "b97e7dcf-e1c6-47a0-a87f-32a09a6afb7a"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"91c00153-7434-4963-\
ade4-47757e495bc8"],

Cell["The constructor label says where the space came from:", "ExampleText",ExpressionUUID->"cd9c17e6-6de4-4a6f-9843-feea77e78859"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"SubsetCandidates", "[", 
   RowBox[{"{", 
    RowBox[{"\"\<a\>\"", ",", " ", "\"\<b\>\"", ",", " ", "\"\<c\>\""}], 
    "}"}], "]"}], "[", "\"\<Kind\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"6943b4ac-2ba5-4a44-89ac-3df5996966a2"],

Cell[BoxData["\<\"Subsets\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"c3b6e979-650d-4a6e-bcca-6a414740070d"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "8d77cfd8-fb69-464a-ba4f-11b79776efe5"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"60886fdb-6be3-40b8-\
8ff4-e1f52bc82660"],

Cell["The parameters are the data the space was built from:", "ExampleText",ExpressionUUID->"0d0684c7-43d5-42f6-b4eb-a0de56675d93"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Normal", "[", 
  RowBox[{
   RowBox[{"WordlistCandidates", "[", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"\"\<a\>\"", ",", " ", "\"\<b\>\""}], "}"}], ",", " ", 
      RowBox[{"{", "\"\<x\>\"", "}"}]}], "}"}], "]"}], 
   "[", "\"\<Parameters\>\"", "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"a43fd45f-7694-4f45-803d-83c9693fe72c"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"Wordlists\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"\<\"a\"\>", ",", "\<\"b\"\>"}], "}"}], ",", 
      RowBox[{"{", "\<\"x\"\>", "}"}]}], "}"}]}], ",", 
   RowBox[{"\<\"Separator\"\>", "\[Rule]", "\<\" \"\>"}]}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"ce441e82-2df2-4cec-bf03-19a2fc8a13b9"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "041bad14-1ab2-428c-8971-c84977c5cd64"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"63f34915-86f0-4711-837e-c3d3bbac4d2b"],
 "Properties & Relations",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "d4ee9b23-9091-4e58-b2a6-cfe0f0445419"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2123667759,ExpressionUUID->"1da28e40-b992-4ad2-99be-339e4957c05e"],

Cell["Two enumerations of the same space share a content address:", \
"ExampleText",ExpressionUUID->"d503a1fa-0bc9-4679-a1bb-c8c78cf9fc9a"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"CandidateEnumeration", "[", 
    RowBox[{"{", 
     RowBox[{"\"\<a\>\"", ",", " ", "\"\<b\>\""}], "}"}], "]"}], 
   "[", "\"\<Fingerprint\>\"", "]"}], " ", "===", " ", 
  RowBox[{
   RowBox[{"CandidateEnumeration", "[", 
    RowBox[{"{", 
     RowBox[{"\"\<a\>\"", ",", " ", "\"\<b\>\""}], "}"}], "]"}], 
   "[", "\"\<Fingerprint\>\"", "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"14aa0ab1-d1d4-4c5f-8dcc-43cb6c765c22"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"540f65ba-603e-4252-8c0a-88e980b92abe"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "8e3f9f98-7118-477b-8838-f58abec081a6"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"112fcaa4-60e7-4761-\
b5f0-194e85b4998c"],

Cell["\<\
A different space has a different one, which is what a checkpoint checks:\
\>", "ExampleText",ExpressionUUID->"d6df3a75-e02a-4330-a04f-3c953108cf2f"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"CandidateEnumeration", "[", 
    RowBox[{"{", 
     RowBox[{"\"\<a\>\"", ",", " ", "\"\<b\>\""}], "}"}], "]"}], 
   "[", "\"\<Fingerprint\>\"", "]"}], " ", "===", " ", 
  RowBox[{
   RowBox[{"CandidateEnumeration", "[", 
    RowBox[{"{", 
     RowBox[{"\"\<a\>\"", ",", " ", "\"\<c\>\""}], "}"}], "]"}], 
   "[", "\"\<Fingerprint\>\"", "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"464e11a6-d0d5-407d-ad01-78320382d509"],

Cell[BoxData["False"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"43217d8b-e124-4f00-935f-5e19dfb2a197"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "f4b9d927-11eb-44bd-bb5e-2a6dec1a609e"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"8fa6bbef-54d3-4d8a-\
af87-9f22993b128f"],

Cell["\<\
An enumeration of a list agrees with the list it was built from:\
\>", "ExampleText",ExpressionUUID->"cb9fddde-7ac6-4950-be69-abc9774a10bd"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Normal", "[", 
   RowBox[{"CandidateEnumeration", "[", 
    RowBox[{"Subsets", "[", 
     RowBox[{"{", 
      RowBox[{"1", ",", " ", "2", ",", " ", "3"}], "}"}], "]"}], "]"}], "]"}],
   " ", "===", " ", 
  RowBox[{"Subsets", "[", 
   RowBox[{"{", 
    RowBox[{"1", ",", " ", "2", ",", " ", "3"}], "}"}], "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"a76900e6-eae8-4128-90c9-ae50d1e4d27c"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"10f6eb90-dfd7-4f8a-aa9d-ae2792e30132"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "3526fdb9-3030-493d-aad3-5dcd80c64d38"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"6cbe0189-0712-4327-894d-ee7aece96147"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "11a1f4a9-d65e-42c4-b3ce-23a27e941619"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"1d26ffb9-ed3a-4869-9728-2399f1ed65e9"],

Cell["\<\
An index outside the space is not a candidate, so the call comes back \
unevaluated:\
\>", "ExampleText",ExpressionUUID->"d26bd7dc-e850-46ab-9db9-47e0b9c21f94"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"CandidateEnumeration", "[", 
   RowBox[{"{", 
    RowBox[{"\"\<a\>\"", ",", " ", "\"\<b\>\""}], "}"}], "]"}], "[", "7", 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"9713331c-d9ec-4c06-be26-adc643bab89c"],

Cell[BoxData[
 RowBox[{
  InterpretationBox[
   TemplateBox[{
    "\"CandidateEnumeration[\"", "\"List\"", "\", \"", "2", 
     "\" candidates]\""},
    "RowDefault"],
   WolframInstitute`Puzzles`CandidateEnumeration[<|
    "Kind" -> "List", "Parameters" -> {"a", "b"}, "Length" -> 2, "Generator" -> 
     Function[$CellContext`\[FormalI]$, 
       Extract[{"a", "b"}, $CellContext`\[FormalI]$]], "Fingerprint" -> 
     "0bf0cc72a75e49a15704758d47f79f60ca147cc6c4d56c05db502e6cad947647"|>]], "[",
   "7", "]"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"8c7ef414-411a-4771-a477-dca6faa57c29"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "5a30c3be-4244-4525-bfff-df5c2f19a1b1"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"a65d78da-6835-4340-\
b29e-71db7a2fc2a0"],

Cell[TextData[{
 "A file that cannot be read is an attempt that failed, and gives a ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Failure"]], "paclet:ref/Failure"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "9888f2bb-e18c-488c-a4bd-7775bd27e33f"],
 ":"
}], "ExampleText",ExpressionUUID->"051e23b6-89f9-40d5-9819-ab92ef9b1c95"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"CandidateEnumeration", "[", 
  RowBox[{"File", "[", "\"\</nonexistent/directory/candidates.txt\>\"", "]"}],
   "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"2836e215-cefc-490c-8238-5706f1f9a117"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["Failure",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    
    TemplateBox[{
      PaneSelectorBox[{False -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"]], 
              ButtonFunction :> (Typeset`open$$ = True), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"unable to read candidate lines from the file.\"", 
                    "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ConfirmationFailed\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxCloser"]], 
              ButtonFunction :> (Typeset`open$$ = False), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"unable to read candidate lines from the file.\"", 
                    "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ConfirmationFailed\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               RowBox[{
                 TagBox[
                  
                  TemplateBox[{"\"ConfirmationType\"", "\": \""}, 
                   "RowDefault"], "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["\"ConfirmMatch\"", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Expression\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["$Failed", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Information\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox[
                  "\"unable to read candidate lines from the file.\"", 
                   HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Pattern\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox[
                   RowBox[{"{", "___String", "}"}], HoldForm], 
                  "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  Failure[
  "ConfirmationFailed", <|
   "MessageTemplate" -> "unable to read candidate lines from the file.", 
    "MessageParameters" -> {}, "ConfirmationType" -> "ConfirmMatch", 
    "Expression" :> $Failed, "Information" -> 
    "unable to read candidate lines from the file.", "Pattern" -> {
      BlankNullSequence[String]}|>],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"d776a542-d731-4339-93dc-f97248b1a37d"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "4cdbabdc-c92b-4934-9b2a-8cf10962613e"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"1849123d-b0d0-4c8b-\
a69e-a8b7711b73a0"],

Cell[TextData[{
 "An association with no ",
 Cell[BoxData["\<\"Generator\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "e93bf916-47a4-491c-9e23-04f8b2e68044"],
 " describes no space, and matches no definition:"
}], "ExampleText",ExpressionUUID->"15485d39-5c13-444c-a0fa-7323d1038f3a"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"CandidateEnumeration", "[", 
  RowBox[{"<|", 
   RowBox[{"\"\<Length\>\"", " ", "->", " ", "10"}], "|>"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"8a494500-658b-46ea-97eb-a06076b704dd"],

Cell[BoxData[
 RowBox[{"CandidateEnumeration", "[", 
  RowBox[{"\[LeftAssociation]", 
   RowBox[{"\<\"Length\"\>", "\[Rule]", "10"}], "\[RightAssociation]"}], 
  "]"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"8940a3c5-00bf-43c5-981a-28fed59b2f71"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedFunction.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"See", " ", "Also"}], "SeeAlsoSection"]},
      {Cell[TextData[{
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["SubsetCandidates"]], 
           "paclet:WolframInstitute/Puzzles/ref/SubsetCandidates", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "452b7cab-4d5a-4a8e-a8a6-a4e76763d7f6"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["PermutationCandidates"]], 
           "paclet:WolframInstitute/Puzzles/ref/PermutationCandidates", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "2d7bb141-0343-42c5-8692-186abd996f5c"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["WordlistCandidates"]], 
           "paclet:WolframInstitute/Puzzles/ref/WordlistCandidates", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "4164147a-254d-43bf-a4ee-cd95ddf0ad23"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["CandidateSweep"]], 
           "paclet:WolframInstitute/Puzzles/ref/CandidateSweep", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "ee563c77-45be-42ef-acf8-04fd2163aa62"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["SweepCheckpoint"]], 
           "paclet:WolframInstitute/Puzzles/ref/SweepCheckpoint", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "d8120440-e104-4919-84b9-71126d77161b"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Subsets"]], "paclet:ref/Subsets"},
          "RefLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "d11f3004-55bc-42b5-8b57-b3d412c3b7ee"]
       }], "SeeAlso",ExpressionUUID->"8a84cd0e-df4a-47f2-b489-b0d16eff6936"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"8d3e4a2d-9726-4635-907c-\
01f9899d3348"],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, "RelatedGuide.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"Related", " ", "Guides"}], "MoreAboutSection"]},
      {
       RowBox[{"\[FilledVerySmallSquare]", Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Search"]], 
           "paclet:WolframInstitute/Puzzles/guide/Search"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "305be6a2-df72-4694-ac19-8edd95eeff40"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"277103d8-8709-4a9a-be07-\
ee5e0ba896d8"],

Cell[" ", "FooterCell",ExpressionUUID->"1d62d3a0-dc08-438f-baf2-9729fb8cfd01"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"CandidateEnumeration",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "", "LinkTrails" -> "", 
  "ExampleCounter" -> 1, 
  "Openers" -> {
   "PrimaryExamplesSection" -> Open, "ExampleSection" -> {"0" -> Open}, 
    "AllOptsTable" -> Closed}, "NewStyles" -> True, 
  "CitationPopupData" -> $Failed, "ShowCitation" -> False, "HasOptions" -> 
  True, "RootCaptions" -> "", "HeaderCoreAreaLink" -> {}, 
  "Metadata" -> {
   "built" -> "{2026, 8, 27, 0, 11, 34.360239}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[CandidateEnumeration, paclet : \
WolframInstitute/Puzzles/ref/CandidateEnumeration, WolframInstitute/Puzzles \
Package Symbol][{cand\:2081, cand\:2082, ...}] gives an indexed enumeration \
of an explicit list of candidates. PackageLink[CandidateEnumeration, paclet : \
WolframInstitute/Puzzles/ref/CandidateEnumeration, WolframInstitute/Puzzles \
Package Symbol][File[file]] gives an indexed enumeration of the lines of a \
text file, one candidate per line. PackageLink[CandidateEnumeration, paclet : \
WolframInstitute/Puzzles/ref/CandidateEnumeration, WolframInstitute/Puzzles \
Package Symbol][<|Length -> n, Generator -> f|>] gives an indexed enumeration \
of n candidates, the i-th being f[i].", "synonyms" -> {}, "tabletags" -> {}, 
    "title" -> "CandidateEnumeration", "titlemodifier" -> "", 
    "metadescription" -> "", "windowtitle" -> "CandidateEnumeration", "type" -> 
    "Symbol", "uri" -> "WolframInstitute/Puzzles/ref/CandidateEnumeration", 
    "WorkflowDockedCell" -> ""}, "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"736faf8a-cef3-4d3b-ab5b-2d724bd816c5"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[23982, 657, 164, 2, 70, "ExampleText",ExpressionUUID->"cd5e3694-cc99-4726-92fa-a0790888398a",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 57862, 1575}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[588, 21, 6610, 159, 70, "AnchorBarGrid",ExpressionUUID->"21ab9256-18d2-4909-bca0-85fa880bea37",
 CellID->1],
Cell[7201, 182, 107, 0, 70, "ContextNameCell",ExpressionUUID->"4c1bbebd-8bfd-42c6-8bab-f9f59187079b"],
Cell[CellGroupData[{
Cell[7333, 186, 563, 14, 70, "ObjectNameGrid",ExpressionUUID->"21e73899-618d-4a99-9d79-09eb5bf8c86a"],
Cell[7899, 202, 2829, 77, 70, "Usage",ExpressionUUID->"becb0f04-4ffe-4c22-a4be-a188f184ab06"]
}, Open  ]],
Cell[CellGroupData[{
Cell[10765, 284, 1444, 34, 70, "NotesSection",ExpressionUUID->"0511d2bd-645c-46f9-80c6-9cdd10cd8add",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1522641732],
Cell[12212, 320, 304, 7, 70, "Notes",ExpressionUUID->"b84b443e-d7e2-42f6-9f54-d47b649cba38"],
Cell[12519, 329, 462, 12, 70, "Notes",ExpressionUUID->"4dc35aac-7699-4ab0-81db-8f9a85206aeb"],
Cell[12984, 343, 515, 15, 70, "Notes",ExpressionUUID->"3752a683-a01c-4ade-b134-47dcbdcfa61a"],
Cell[13502, 360, 819, 25, 70, "Notes",ExpressionUUID->"a9ced32d-4f34-49ec-9515-70994c14be57"],
Cell[14324, 387, 1106, 31, 70, "Notes",ExpressionUUID->"bc152138-c9ba-4aea-8a67-4d509dc71a6a"],
Cell[15433, 420, 1338, 33, 70, "Notes",ExpressionUUID->"6d4f0dea-1b0d-4df0-9b81-8517e6738f32"],
Cell[16774, 455, 1391, 37, 70, "Notes",ExpressionUUID->"b949cee2-201f-4813-b1b5-4d2e4cd34459"],
Cell[18168, 494, 510, 13, 70, "Notes",ExpressionUUID->"b152b68d-fc66-417a-aec1-74dc996696f4"],
Cell[18681, 509, 1433, 42, 70, "Notes",ExpressionUUID->"4e54901c-3d0d-42d5-9a4a-fd568421dc90"],
Cell[20117, 553, 860, 17, 70, "Notes",ExpressionUUID->"9d7e7aba-f50f-4c69-ab2e-1820947099d2"]
}, Closed]],
Cell[20992, 573, 80, 0, 70, "PageDelimiter",ExpressionUUID->"82f69436-7a1e-43e8-b81d-0248be13e134"],
Cell[CellGroupData[{
Cell[21097, 577, 1402, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"b92c5827-cd7b-4884-bfb7-09155f32b0c3",
 CellID->1624452072],
Cell[22502, 616, 216, 4, 70, "Input",ExpressionUUID->"80b7c28e-c4cc-4599-bf85-2034db8b45f0",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[22743, 624, 1236, 31, 70, "ExampleSection",ExpressionUUID->"b2ad0e72-aa28-4946-8d45-5e96c4bae02e",
 CellID->1206369793],
Cell[23982, 657, 164, 2, 70, "ExampleText",ExpressionUUID->"cd5e3694-cc99-4726-92fa-a0790888398a",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[24171, 663, 363, 7, 70, "Input",ExpressionUUID->"dca83a67-1f22-4119-9679-07ba0d78ebc9"],
Cell[24537, 672, 221, 4, 70, "Output",ExpressionUUID->"5a2127ce-4048-4be0-b7ce-135aa71d3931"]
}, Open  ]],
Cell[CellGroupData[{
Cell[24795, 681, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"ebd7a941-7c24-46ee-927e-da640e43b7d1"],
Cell[25022, 688, 159, 4, 70, "ExampleText",ExpressionUUID->"484af66f-25d5-4723-ba90-bf9550d2a078"],
Cell[CellGroupData[{
Cell[25206, 696, 360, 8, 70, "Input",ExpressionUUID->"c5e2fc09-6f7a-4651-9b9e-b5138a4d3946"],
Cell[25569, 706, 127, 1, 70, "Output",ExpressionUUID->"10c5303c-7b33-4204-8936-d0e6f98b7963"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[25745, 713, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"a541a8ac-1220-437b-bad9-45c0a11c7836"],
Cell[25972, 720, 155, 2, 70, "ExampleText",ExpressionUUID->"2bab3e1c-4fe4-4879-b020-71603a4e4191"],
Cell[CellGroupData[{
Cell[26152, 726, 619, 14, 70, "Input",ExpressionUUID->"f84a391c-40c5-4078-95f8-6041b7507998"],
Cell[26774, 742, 256, 4, 70, "Output",ExpressionUUID->"e437f84f-0703-4de2-b09d-7905f61de2fd"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[27079, 752, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"09307529-af62-4fe4-b879-c26cd72b34d1"],
Cell[27306, 759, 150, 2, 70, "ExampleText",ExpressionUUID->"0dc9ebcf-8931-4a31-9b9b-98a9c22b7603"],
Cell[CellGroupData[{
Cell[27481, 765, 774, 21, 70, "Input",ExpressionUUID->"0fa59590-7c1f-425a-84fe-fa2c8ac7fdd0"],
Cell[28258, 788, 210, 4, 70, "Output",ExpressionUUID->"5911f774-1a93-40f9-8557-880e128079a0"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[28529, 799, 1227, 31, 70, "ExampleSection",ExpressionUUID->"571fa05c-ced9-43b3-a8a0-4bc8003919e1",
 CellID->1293636265],
Cell[29759, 832, 139, 1, 70, "ExampleText",ExpressionUUID->"4ebe9bc1-fff2-4096-a945-d37b4b9879d1"],
Cell[CellGroupData[{
Cell[29923, 837, 542, 13, 70, "Input",ExpressionUUID->"a646aba5-ca9c-44ae-8ab2-b2051489b5b1"],
Cell[30468, 852, 119, 1, 70, "Output",ExpressionUUID->"b72fa952-8fb4-410e-9948-faa438e67a7a"]
}, Open  ]],
Cell[CellGroupData[{
Cell[30624, 858, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"08ecc5d5-6975-4414-a7a7-f9d6d80f5bac"],
Cell[30851, 865, 122, 0, 70, "ExampleText",ExpressionUUID->"97c564ad-1084-4418-9540-42718f4c9dc5"],
Cell[CellGroupData[{
Cell[30998, 869, 608, 15, 70, "Input",ExpressionUUID->"3216b1fe-88dc-4c64-9d32-e5c963a77fba"],
Cell[31609, 886, 224, 4, 70, "Output",ExpressionUUID->"09c8965f-bf85-450a-9ca6-116f39ea2617"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[31882, 896, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"d1eb74d9-4cb4-49e5-a9c3-4819c60bcb88"],
Cell[32109, 903, 128, 0, 70, "ExampleText",ExpressionUUID->"bde2955c-50aa-456d-acdf-9a34a897af10"],
Cell[CellGroupData[{
Cell[32262, 907, 362, 8, 70, "Input",ExpressionUUID->"2c4651cc-e6be-463b-a1a6-62879018058e"],
Cell[32627, 917, 168, 3, 70, "Output",ExpressionUUID->"1ef02410-6b90-41f2-9f23-ebb5636c4925"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[32844, 926, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"91c00153-7434-4963-ade4-47757e495bc8"],
Cell[33071, 933, 131, 0, 70, "ExampleText",ExpressionUUID->"cd9c17e6-6de4-4a6f-9843-feea77e78859"],
Cell[CellGroupData[{
Cell[33227, 937, 333, 7, 70, "Input",ExpressionUUID->"6943b4ac-2ba5-4a44-89ac-3df5996966a2"],
Cell[33563, 946, 121, 1, 70, "Output",ExpressionUUID->"c3b6e979-650d-4a6e-bcca-6a414740070d"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[33733, 953, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"60886fdb-6be3-40b8-8ff4-e1f52bc82660"],
Cell[33960, 960, 131, 0, 70, "ExampleText",ExpressionUUID->"0d0684c7-43d5-42f6-b4eb-a0de56675d93"],
Cell[CellGroupData[{
Cell[34116, 964, 448, 11, 70, "Input",ExpressionUUID->"a43fd45f-7694-4f45-803d-83c9693fe72c"],
Cell[34567, 977, 409, 10, 70, "Output",ExpressionUUID->"ce441e82-2df2-4cec-bf03-19a2fc8a13b9"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[35037, 994, 1244, 31, 70, "ExampleSection",ExpressionUUID->"1da28e40-b992-4ad2-99be-339e4957c05e",
 CellID->2123667759],
Cell[36284, 1027, 139, 1, 70, "ExampleText",ExpressionUUID->"d503a1fa-0bc9-4679-a1bb-c8c78cf9fc9a"],
Cell[CellGroupData[{
Cell[36448, 1032, 528, 13, 70, "Input",ExpressionUUID->"14aa0ab1-d1d4-4c5f-8dcc-43cb6c765c22"],
Cell[36979, 1047, 110, 1, 70, "Output",ExpressionUUID->"540f65ba-603e-4252-8c0a-88e980b92abe"]
}, Open  ]],
Cell[CellGroupData[{
Cell[37126, 1053, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"112fcaa4-60e7-4761-b5f0-194e85b4998c"],
Cell[37353, 1060, 159, 2, 70, "ExampleText",ExpressionUUID->"d6df3a75-e02a-4330-a04f-3c953108cf2f"],
Cell[CellGroupData[{
Cell[37537, 1066, 528, 13, 70, "Input",ExpressionUUID->"464e11a6-d0d5-407d-ad01-78320382d509"],
Cell[38068, 1081, 111, 1, 70, "Output",ExpressionUUID->"43217d8b-e124-4f00-935f-5e19dfb2a197"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[38228, 1088, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"8fa6bbef-54d3-4d8a-af87-9f22993b128f"],
Cell[38455, 1095, 150, 2, 70, "ExampleText",ExpressionUUID->"cb9fddde-7ac6-4950-be69-abc9774a10bd"],
Cell[CellGroupData[{
Cell[38630, 1101, 484, 12, 70, "Input",ExpressionUUID->"a76900e6-eae8-4128-90c9-ae50d1e4d27c"],
Cell[39117, 1115, 110, 1, 70, "Output",ExpressionUUID->"10f6eb90-dfd7-4f8a-aa9d-ae2792e30132"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[39288, 1123, 1237, 31, 70, "ExampleSection",ExpressionUUID->"1d26ffb9-ed3a-4869-9728-2399f1ed65e9",
 CellID->1305812373],
Cell[40528, 1156, 170, 3, 70, "ExampleText",ExpressionUUID->"d26bd7dc-e850-46ab-9db9-47e0b9c21f94"],
Cell[CellGroupData[{
Cell[40723, 1163, 301, 7, 70, "Input",ExpressionUUID->"9713331c-d9ec-4c06-be26-adc643bab89c"],
Cell[41027, 1172, 601, 13, 70, "Output",ExpressionUUID->"8c7ef414-411a-4771-a477-dca6faa57c29"]
}, Open  ]],
Cell[CellGroupData[{
Cell[41665, 1190, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"a65d78da-6835-4340-b29e-71db7a2fc2a0"],
Cell[41892, 1197, 439, 12, 70, "ExampleText",ExpressionUUID->"051e23b6-89f9-40d5-9819-ab92ef9b1c95"],
Cell[CellGroupData[{
Cell[42356, 1213, 278, 5, 70, "Input",ExpressionUUID->"2836e215-cefc-490c-8238-5706f1f9a117"],
Cell[42637, 1220, 7165, 148, 70, "Output",ExpressionUUID->"d776a542-d731-4339-93dc-f97248b1a37d"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[49851, 1374, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"1849123d-b0d0-4c8b-a69e-a8b7711b73a0"],
Cell[50078, 1381, 340, 7, 70, "ExampleText",ExpressionUUID->"15485d39-5c13-444c-a0fa-7323d1038f3a"],
Cell[CellGroupData[{
Cell[50443, 1392, 274, 5, 70, "Input",ExpressionUUID->"8a494500-658b-46ea-97eb-a06076b704dd"],
Cell[50720, 1399, 258, 5, 70, "Output",ExpressionUUID->"8940a3c5-00bf-43c5-981a-28fed59b2f71"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[51029, 1410, 3673, 96, 70, "SeeAlsoSection",ExpressionUUID->"8d3e4a2d-9726-4635-907c-01f9899d3348"],
Cell[54705, 1508, 740, 19, 70, "MoreAboutSection",ExpressionUUID->"277103d8-8709-4a9a-be07-ee5e0ba896d8"],
Cell[55448, 1529, 78, 0, 70, "FooterCell",ExpressionUUID->"1d62d3a0-dc08-438f-baf2-9729fb8cfd01"]
}
]
*)

(* End of internal cache information *)

