[{"name":"InNat","comment":" Operations when you know the `maximum` of the `Nat (In minimum maximum ...)`.\n\n\n## add information\n\n\n### clamp\n\n@docs atMost\n\n\n### compare\n\n@docs is, isInRange, isAtLeast, isAtMost\n\n\n## modify\n\n@docs addN, subN, add, sub, subLossy, addLossy\n\n\n## drop information\n\n@docs maxIs, toMin\n\nIn many situations, the maximum is unimportant. Those operations are in `MinNat`, as they apply for `Nat (ValueMin ...)`s as well.\n\n","unions":[],"aliases":[],"values":[{"name":"add","comment":" Add a `Nat (In ...)`.\n\n    NNat.toIn nat3\n        |> InNat.add between1And12 nat1 nat12\n    --> of type Nat (In Nat4 (Nat15Plus a))\n\n","type":"Nat.Nat (Nat.Bound.In addedMin addedMax addedMaybeMax) -> Nat.Nat (Nat.Bound.N addedMin (Nat.Bound.Is min Nat.Bound.To) sumMin x) -> Nat.Nat (Nat.Bound.N addedMax (Nat.Bound.Is max Nat.Bound.To) sumMax y) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn sumMin sumMax)"},{"name":"addLossy","comment":" Add a `Nat (In ...)`, but\n\n  - keep the current minimum, instead of computing the exact value\n\n  - use `Infinity` as the maximum instead of computing the exact value\n\n    atLeast5 |> MinNat.addLossy atLeast2\n    --> is of type Nat (ValueMin Nat5)\n\n    atLeast2 |> MinNat.addLossy atLeast5\n    --> is of type Nat (ValueMin Nat2)\n\nIf you know the minimum and maximum added value, use [`add`](InNat#add).\n\n","type":"Nat.Nat (Nat.Bound.In addedMin addedMax addedMaybeN) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueMin min)"},{"name":"addN","comment":" Add a fixed `Nat (N ...)` value.\n\n    nat70 |> NNat.toIn\n        |> InNat.addN nat7\n    --> is of type Nat (In Nat77 (Nat77Plus a))\n\n","type":"Nat.Nat (Nat.Bound.N added (Nat.Bound.Is min Nat.Bound.To) sumMin (Nat.Bound.And max Nat.Bound.To sumMax)) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn sumMin sumMax)"},{"name":"atMost","comment":" **Cap** the `Nat (In ...)` to at most a number.\n\n    nat5 |> NNat.toIn\n        |> InNat.atMost nat10 { min = nat5 }\n    --> InNat 5\n\n    nat15 |> NNat.toIn |> InNat.lowerMin nat5\n        |> InNat.atMost nat10 { min = nat5 }\n    --> Nat 10\n\n`min` ensures that that number is at least the minimum.\n\n","type":"Nat.Nat (Nat.Bound.In minNewMax newMaxPlusA newMaxMaybeN) -> { min : Nat.Nat (Nat.Bound.N min (Nat.Bound.Is minToMinNewMax Nat.Bound.To) minNewMax x) } -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn min newMaxPlusA)"},{"name":"is","comment":" Compare the `Nat (In ...)` to a `Nat (N ...)`. Is it `greater`, `less` or `equal`?\n\n`min` ensures that the `Nat (N ...)` is bigger than the minimum.\n\n    present =\n        InNat.lowerMin nat0\n            >> InNat.is nat18\n                { min = nat0 }\n                { less = \\age -> appropriateToy { age = age }\n                , greater = \\age -> appropriateExperience { age = age }\n                , equal = \\() -> bigPresent\n                }\n\n    appropriateToy : { age : Nat (In Nat0 Nat17) } -> Toy\n\n    appropriateExperience : { age : Nat (In Nat19 max) } -> Experience\n\n","type":"Nat.Nat (Nat.Bound.N tried (Nat.Bound.Is triedToMax Nat.Bound.To) max (Nat.Bound.And a Nat.Bound.To (TypeNats.Nat1Plus triedPlusAMinus1))) -> { min : Nat.Nat (Nat.Bound.N min (Nat.Bound.Is minToTried Nat.Bound.To) tried y) } -> { equal : () -> result, less : Nat.Nat (Nat.Bound.ValueIn min triedPlusAMinus1) -> result, greater : Nat.Nat (Nat.Bound.ValueIn (TypeNats.Nat2Plus triedMinus1) max) -> result } -> Nat.Nat (Nat.Bound.In min max maybeN) -> result"},{"name":"isAtLeast","comment":" Is the `Nat (In ...)`\n\n  - `equalOrGreater` than a `Nat` or\n\n  - `less`?\n\n```\nvote : { age : Nat (In (Nat18Plus orOlder) max) } -> Vote\n\ntryToVote =\n    InNat.lowerMin nat0\n        >> InNat.isAtLeast nat18\n            { min = nat0 }\n            { less = Nothing --😓\n            , equalOrGreater = \\age -> Just (vote { age = age })\n            }\n```\n\n","type":"Nat.Nat (Nat.Bound.N tried (Nat.Bound.Is a Nat.Bound.To) (TypeNats.Nat1Plus triedMinus1PlusA) (Nat.Bound.And atLeastRange Nat.Bound.To max)) -> { min : Nat.Nat (Nat.Bound.N min (Nat.Bound.Is a Nat.Bound.To) minPlusA (Nat.Bound.And (TypeNats.Nat1Plus lessRange) Nat.Bound.To tried)) } -> { less : Nat.Nat (Nat.Bound.ValueIn min triedMinus1PlusA) -> result, equalOrGreater : Nat.Nat (Nat.Bound.ValueIn tried max) -> result } -> Nat.Nat (Nat.Bound.In min max maybeN) -> result"},{"name":"isAtMost","comment":" Is the `Nat (In ...)`\n\n  - `equalOrLess` than a `Nat` or\n\n  - `greater`?\n\n```\ngoToU18Party : { age : Nat (In min Nat17) } -> List Snack\n\ntryToGoToU18Party =\n    InNat.lowerMin nat0\n        >> InNat.isAtMost nat17\n            { min = nat0 }\n            { equalOrLess = \\age -> Just (goToU18Party { age 0 age })\n            , greater = Nothing\n            }\n```\n\n","type":"Nat.Nat (Nat.Bound.N tried (Nat.Bound.Is a Nat.Bound.To) triedPlusA (Nat.Bound.And (TypeNats.Nat1Plus greaterRange) Nat.Bound.To max)) -> { min : Nat.Nat (Nat.Bound.N min (Nat.Bound.Is minToTried Nat.Bound.To) tried y) } -> { equalOrLess : Nat.Nat (Nat.Bound.ValueIn min triedPlusA) -> result, greater : Nat.Nat (Nat.Bound.ValueIn tried max) -> result } -> Nat.Nat (Nat.Bound.In min max maybeN) -> result"},{"name":"isInRange","comment":" Compared to a range `first` to `last`, is the `Nat (In ...)`\n\n  - `inRange`\n\n  - `greater` than the `last` or\n\n  - `less` than the `first`?\n\n```\njustIfBetween3And10 =\n    InNat.lowerMin nat0\n        >> InNat.isInRange { first = nat3, last = nat10 }\n            { min = nat0 }\n            { less = \\_ -> Nothing\n            , greater = \\_ -> Nothing\n            , inRange = Just\n            }\n\njustIfBetween3And10 nat9\n--> Just (Nat 9)\n\njustIfBetween3And10 nat123\n--> Nothing\n```\n\n","type":"{ first : Nat.Nat (Nat.Bound.N first (Nat.Bound.Is firstToLast Nat.Bound.To) last (Nat.Bound.And a Nat.Bound.To (TypeNats.Nat1Plus firstMinus1PlusA))), last : Nat.Nat (Nat.Bound.N last (Nat.Bound.Is lastToMax Nat.Bound.To) max (Nat.Bound.And a Nat.Bound.To lastPlusA)) } -> { min : Nat.Nat (Nat.Bound.N min (Nat.Bound.Is minToFirst Nat.Bound.To) first x) } -> { inRange : Nat.Nat (Nat.Bound.ValueIn first lastPlusA) -> result, less : Nat.Nat (Nat.Bound.ValueIn min firstMinus1PlusA) -> result, greater : Nat.Nat (Nat.Bound.ValueIn (TypeNats.Nat1Plus last) max) -> result } -> Nat.Nat (Nat.Bound.In min max maybeN) -> result"},{"name":"maxIs","comment":" Make it fit into functions with require a higher maximum.\n\nYou should design type annotations as general as possible.\n\n    onlyAtMost18 : Nat (In min Nat18 maybeN)\n\n    onlyAtMost18 between3And8 --fine\n\nBut once you implement `onlyAtMost18`, you might use the value in `onlyAtMost19`.\n\n    onlyAtMost18 value =\n        -- onlyAtMost19 value --error :(\n        onlyAtMost19\n            (value |> InNat.maxIs nat18 {- works :) -})\n\n[`lowerMin`](InNat#lowerMin) is also handy in those situations.\n\n","type":"Nat.Nat (Nat.Bound.N max (Nat.Bound.Is a Nat.Bound.To) maxPlusA x) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn min maxPlusA)"},{"name":"sub","comment":" Subtract a `Nat (In ...)`.\n\nThe 2 following arguments are\n\n  - the minimum subtracted value\n  - the maximum subtracted value\n\nIf you don't have both at hand, use [`subLossy`](InNat#subLossy).\n\n    nat6 |> NNat.toIn\n        |> InNat.sub between1And5 nat1 nat5\n    --> is of type Nat (In Nat1 (Nat5Plus a))\n\n","type":"Nat.Nat (Nat.Bound.In minSubbed maxSubbed subbedMaybeN) -> Nat.Nat (Nat.Bound.N minSubbed (Nat.Bound.Is differenceMax Nat.Bound.To) max x) -> Nat.Nat (Nat.Bound.N maxSubbed (Nat.Bound.Is differenceMin Nat.Bound.To) min y) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn differenceMin differenceMax)"},{"name":"subLossy","comment":" Subtract a `Nat (In ..)` without\n\n  - calculating the new minimum, the lowest possible value it can be after the subtraction is 0\n\n```\nnat6 |> NNat.toMin\n    |> InNat.subLossy between1And5\n--> is of type Nat (In Nat0 Infinity)\n\nnat6 |> NNat.toIn\n    |> InNat.subLossy between1And5\n--> is of type Nat (In Nat0 (Nat6Plus a))\n```\n\nIf you know the maximum subtracted value, use [`subLossyMax`](InNat#subLossyMax).\n\nIf you also know the minimum subtracted value, use [`sub`](InNat#sub).\n\n","type":"Nat.Nat (Nat.Bound.In minSubbed min subbedMaybeN) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn TypeNats.Nat0 max)"},{"name":"subN","comment":" Subtract a fixed `Nat` value.\n\n    nat7 |> NNat.toIn\n        |> InNat.subN nat7\n    --> is of type Nat (In Nat0 a)\n\n**Use [`MinNat.subN`](MinNat#subN) if the maximum value is `Infinity`**.\n\n","type":"Nat.Nat (Nat.Bound.N sub (Nat.Bound.Is differenceMin Nat.Bound.To) min (Nat.Bound.And differenceMax Nat.Bound.To max)) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn differenceMin differenceMax)"},{"name":"toMin","comment":" Convert an exact `Nat (In min ...)` to a `Nat (ValueMin min)`.\n\n    in4To10 |> NNat.toMin\n    --> is of type Nat (ValueMin Nat4)\n\nThere is **only 1 situation you should use this.**\n\nTo make these the same type.\n\n    [ atLeast1, in1To10 ]\n\nElm complains:\n\n> But all the previous elements in the list are: `Nat (ValueMin Nat1)`\n\n    [ atLeast1\n    , in1To10 |> InNat.toMin\n    ]\n\n","type":"Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueMin min)"}],"binops":[]},{"name":"MinNat","comment":" 2 situations where you use these operations instead of the ones in [`InNat`](InNat):\n\n1.  Your value is of type `Nat (ValueMin ...)`\n\n        nat3 |> MinNat.mul nat3\n        --> Nat (ValueMin Nat3)\n\n2.  The maximum isn't fixed\n\n        divideBy : Nat (In (Nat1Plus minMinus1) max maybeN) -> --...\n\n\n### compare\n\n@docs is, isAtLeast, isAtMost\n\n\n### modify\n\n@docs subN, add, sub, addN\n\nEvery other available operation:\n\n\n## drop information\n\n@docs lowerMin\n\n\n## modify\n\n@docs toPower, remainderBy, mul, div\n\n\n## compare\n\n@docs atLeast\n\n","unions":[],"aliases":[],"values":[{"name":"add","comment":" Add a `Nat (ValueMin ...)`. The second argument is the minimum if the added `Nat (ValueMin ...)`.\n\n    nat5\n        |> NNat.toMin\n        |> MinNat.add atLeast2 nat2\n    --> is of type Nat (ValueMin Nat7)\n\nIf you have don't the minimum added value at hand, use [`InNat.addLossy`](InNat#addLossy).\n\n","type":"Nat.Nat (Nat.Bound.In addedMin max maybeN) -> Nat.Nat (Nat.Bound.N addedMin (Nat.Bound.Is min Nat.Bound.To) sumMin x) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueMin sumMin)"},{"name":"addN","comment":" Add a fixed `Nat (N ...)` value.\n\n    nat70\n        |> NNat.toMin\n        |> InNat.addN nat7\n\n","type":"Nat.Nat (Nat.Bound.N added (Nat.Bound.Is min Nat.Bound.To) sumMin x) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueMin sumMin)"},{"name":"atLeast","comment":" If the `Nat (In ...)` is less than a number, return that number instead.\n\n    nat5 |> NNat.toIn\n        |> InNat.atLeast nat10\n    --> Nat 10\n\n    nat15 |> NNat.toIn\n        |> InNat.atLeast nat10\n    --> Nat 15\n\n","type":"Nat.Nat (Nat.Bound.In newMin max lowerMaybeN) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn newMin max)"},{"name":"div","comment":" Divide (`//`) by a `Nat (In ...)`.\n\n  - `/ 0` is impossible\n\n  - `x / d` is at most x\n\n```\natMost7\n    |> InNat.div nat3\n--> Nat 2 of type Nat (ValueIn Nat0 (Nat7Plus a))\n```\n\n","type":"Nat.Nat (Nat.Bound.In (TypeNats.Nat1Plus divMinMinus1) divMax divMaybeN) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn TypeNats.Nat0 max)"},{"name":"is","comment":" Compare the `Nat (ValueMin ...)` to a `Nat (N ...)`. Is it `greater`, `less` or `equal`?\n\n`min` ensures that the `Nat (N ...)` is bigger than the minimum.\n\n    present =\n        MinNat.lowerMin nat0\n            >> MinNat.is nat18\n                { min = nat0 }\n                { less = \\age -> appropriateToy { age = age }\n                , greater = \\age -> appropriateExperience { age = age }\n                , equal = \\() -> bigPresent\n                }\n\n    appropriateToy : { age : Nat (In Nat0 Nat17 maybeN) } -> Toy\n\n    appropriateExperience : { age : Nat (In Nat19 max maybeN) } -> Experience\n\n","type":"Nat.Nat (Nat.Bound.In (TypeNats.Nat1Plus triedMinus1) (TypeNats.Nat1Plus triedMinus1PlusA) maybeN) -> { min : Nat.Nat (Nat.Bound.N min (Nat.Bound.Is minToTriedMinus1 Nat.Bound.To) triedMinus1 x) } -> { equal : () -> result, less : Nat.Nat (Nat.Bound.ValueIn min triedMinus1PlusA) -> result, greater : Nat.Nat (Nat.Bound.ValueMin (TypeNats.Nat2Plus triedMinus1)) -> result } -> Nat.Nat (Nat.Bound.In min max maybeN) -> result"},{"name":"isAtLeast","comment":" Is the `Nat (ValueMin ...)`\n\n  - `equalOrGreater` than a `Nat` or\n\n  - `less`?\n\n```\nfactorial : MinNat min -> MinNat Nat1\nfactorial =\n    MinNat.lowerMin nat0\n        >> MinNat.isAtLeast nat1\n            { min = nat0 }\n            { less = \\_ -> nat1 |> InNat.toMin\n            , equalOrGreater =\n                \\atLeast1 ->\n                    atLeast1\n                        |> MinNat.mul\n                            (factorial\n                                (atLeast1 |> MinNat.subN nat1)\n                            )\n            }\n```\n\n","type":"Nat.Nat (Nat.Bound.In triedMin (TypeNats.Nat1Plus triedMinMinus1PlusA) maybeN) -> { min : Nat.Nat (Nat.Bound.N min (Nat.Bound.Is minToTriedMin Nat.Bound.To) triedMin x) } -> { less : Nat.Nat (Nat.Bound.ValueIn min triedMinMinus1PlusA) -> result, equalOrGreater : Nat.Nat (Nat.Bound.ValueMin triedMin) -> result } -> Nat.Nat (Nat.Bound.In min max maybeN) -> result"},{"name":"isAtMost","comment":" Is the `Nat (ValueMin ...)`\n\n  - `equalOrLess` than a `Nat` or\n\n  - `greater`?\n\n```\ngoToU18Party : { age : Nat (In min Nat17 maybeN) } -> List Snack\n\ntryToGoToU18Party =\n    MinNat.lowerMin nat0\n        >> MinNat.isAtMost nat17\n            { min = nat0 }\n            { equalOrLess = \\age -> Just (goToU18Party { age = age })\n            , greater = Nothing\n            }\n```\n\n","type":"Nat.Nat (Nat.Bound.In atMostMin atMostMinPlusA atMostMaybeN) -> { min : Nat.Nat (Nat.Bound.N min (Nat.Bound.Is minToAtMostMin Nat.Bound.To) atMostMin x) } -> { equalOrLess : Nat.Nat (Nat.Bound.ValueIn min atMostMinPlusA) -> result, greater : Nat.Nat (Nat.Bound.ValueMin atMostMin) -> result } -> Nat.Nat (Nat.Bound.In min max maybeN) -> result"},{"name":"lowerMin","comment":" Set the minimum lower.\n\n    [ atLeast3, atLeast4 ]\n\nElm complains:\n\n> But all the previous elements in the list are: `Nat (ValueMin Nat3)`\n\n    [ atLeast3\n    , atLeast4 |> MinNat.lowerMin nat3\n    ]\n\n","type":"Nat.Nat (Nat.Bound.In lowerMin min lowerMaybeN) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn lowerMin max)"},{"name":"mul","comment":" Multiply by a `Nat (In ...)` >= 1.\nwe know that if `a >= 1`, `x * a >= x`.\n\n    atLeast5  |> MinNat.mul nat2\n    --> Nat 10 of type Nat (ValueMin Nat5)\n\n    atLeast2 |> MinNat.mul nat5\n    --> Nat 10 of type Nat (ValueMin Nat2)\n\nThe maximum value of both factors can be `Infinity`.\n\n","type":"Nat.Nat (Nat.Bound.In (TypeNats.Nat1Plus minMultipliedMinus1) maxMultiplied multipliedMaybeN) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueMin min)"},{"name":"remainderBy","comment":" The remainder after division.\n\n  - `% 0` is impossible\n  - `x % d` is at most `x`\n\n```\natMost7 |> InNat.remainderBy nat3\n--> Nat 1 of type Nat (In Nat0 (Nat7Plus a))\n```\n\n","type":"Nat.Nat (Nat.Bound.In (TypeNats.Nat1Plus divMinMinus1) divMax divMaybeN) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn TypeNats.Nat0 max)"},{"name":"sub","comment":" Subtract a `Nat (In ...)`. The second argument is the maximum of the subtracted `Nat (In ...)`.\n\n    atLeast6 |> MinNat.sub in0To5 nat5\n    --> is of type Nat (In Nat1 (Nat6Plus a))\n\nIf you have don't the maximum subtracted value at hand, use [`subLossy`](InNat#subLossy).\n\n","type":"Nat.Nat (Nat.Bound.In minSubbed maxSubbed subbedMaybeN) -> Nat.Nat (Nat.Bound.N maxSubbed (Nat.Bound.Is differenceMin Nat.Bound.To) min x) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn differenceMin max)"},{"name":"subN","comment":" Subtract an exact `Nat (N ...)`.\n\n    (nat7 |> NNat.toMin)\n        |> MinNat.subN nat2\n    --> is of type Nat (ValueMin Nat5)\n\n","type":"Nat.Nat (Nat.Bound.N sub (Nat.Bound.Is differenceMin Nat.Bound.To) min x) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn differenceMin max)"},{"name":"toPower","comment":" The `Nat (ValueMin ...) ^ a Nat (ValueMin ...)`.\nWe know that if `a >= 1  →  x ^ a >= x`\n\n    atLeast5 |> MinNat.toPower nat2\n    --> Nat 25 of type Nat (ValueMin Nat5)\n\n    atLeast2 |> MinNat.toPower nat5\n    --> Nat 25 of type Nat (ValueMin Nat2)\n\n","type":"Nat.Nat (Nat.Bound.In (TypeNats.Nat1Plus powMinMinus1) powMax powMaybeN) -> Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueMin min)"}],"binops":[]},{"name":"NNat","comment":" Operations that only apply for `Nat (N ...)`s.\n\n\n## modify\n\n@docs add, sub\n\n\n## drop information\n\n@docs toIn\n\nOperations, where the maximum doesn't matter are in `MinNat`, as they apply for `Nat (ValueMin ...)`s as well.\n\n","unions":[],"aliases":[],"values":[{"name":"add","comment":" The `Nat (N ...)` plus another `Nat (N ...)`. Give the added value twice as a tuple.\n\n    nat6 |> NNat.add ( nat5, nat5 )\n    --> Nat 11 of type\n    --> Nat\n    -->     (N Nat11\n    -->         (Is a To Nat11Plus a)\n    -->         (Is b To Nat11Plus b)\n    -->     )\n\nThis is only rarely useful, as you shouldn't\n\n    inRangeXAndXPlus10 x =\n        -- won't work\n        isInRange x (x |> NNat.add ( nat10, nat10 ))\n\n    isAtLeast10GreaterThan x =\n        -- the only use case\n        isAtLeast (x |> NNat.add ( nat10, nat10 ))\n\n(examples don't compile, just for demonstration)\n\n","type":"( Nat.Nat (Nat.Bound.N addedN (Nat.Bound.Is n Nat.Bound.To) sumN (Nat.Bound.And atLeastN Nat.Bound.To atLeastSumN)), Nat.Nat (Nat.Bound.N addedN (Nat.Bound.Is aPlusN Nat.Bound.To) aPlusSum (Nat.Bound.And bPlusN Nat.Bound.To bPlusSum)) ) -> Nat.Nat (Nat.Bound.N n (Nat.Bound.Is a Nat.Bound.To) aPlusN (Nat.Bound.And b Nat.Bound.To bPlusN)) -> Nat.Nat (Nat.Bound.N sumN (Nat.Bound.Is a Nat.Bound.To) aPlusSum (Nat.Bound.And b Nat.Bound.To bPlusSum))"},{"name":"sub","comment":" The `Nat (N ...)` plus another `Nat (N ...)`. Give the added value twice as a tuple.\n\n    nat6 |> NNat.sub ( nat5, nat5 )\n    --> Nat 1 of type\n    --> Nat\n    -->     (N Nat1\n    -->         (Is a To Nat1Plus a)\n    -->         (Is b To Nat1Plus b)\n    -->     )\n\nThis is only rarely useful, as you shouldn't\n\n    inRangeXMinus10ToX x =\n        -- won't work\n        isInRange (x |> NNat.sub ( nat10, nat10 )) x\n\n    isAtLeast10LessThan x =\n        -- the only use case\n        isAtLeast (x |> NNat.sub ( nat10, nat10 ))\n\n(examples don't compile, just for demonstration)\n\n","type":"( Nat.Nat (Nat.Bound.N subN (Nat.Bound.Is differenceN Nat.Bound.To) n (Nat.Bound.And atLeastDifferenceN Nat.Bound.To atLeastN)), Nat.Nat (Nat.Bound.N subN (Nat.Bound.Is aPlusDifferenceN Nat.Bound.To) aPlusN (Nat.Bound.And bPlusDifferenceN Nat.Bound.To bPlusN)) ) -> Nat.Nat (Nat.Bound.N n (Nat.Bound.Is a Nat.Bound.To) aPlusN (Nat.Bound.And b Nat.Bound.To bPlusN)) -> Nat.Nat (Nat.Bound.N differenceN (Nat.Bound.Is a Nat.Bound.To) aPlusDifferenceN (Nat.Bound.And b Nat.Bound.To bPlusDifferenceN))"},{"name":"toIn","comment":" Convert it to a `Nat (ValueIn min max)`.\n\n    nat4 |> NNat.toIn\n    --> is of type Nat (ValueIn Nat4 (Nat4Plus a))\n\nThere is **only 1 situation you should use this.**\n\nTo make these the same type.\n\n    [ in3To10, nat3 ]\n\nElm complains:\n\n> But all the previous elements in the list are: `Nat (ValueIn Nat3)`\n\n    [ in3To10\n    , nat3 |> NNat.toIn\n    ]\n\n","type":"Nat.Nat (Nat.Bound.In min max maybeN) -> Nat.Nat (Nat.Bound.ValueIn min max)"}],"binops":[]},{"name":"NNats","comment":" `Nat (N Nat0 ...)` to `Nat (N 168 ...)`.\n\n\nBigger `Nat (N ...)` s start to slow down compilation, so they are avoided.\n\n\nSee [`Nat.Bound.N`](Nat-Bound#N) & [`NNat`](NNat) for an explanation.\n\n\n@docs nat0, nat1, nat10, nat100, nat101, nat102, nat103, nat104, nat105, nat106, nat107\n@docs nat108, nat109, nat11, nat110, nat111, nat112, nat113, nat114, nat115, nat116\n@docs nat117, nat118, nat119, nat12, nat120, nat121, nat122, nat123, nat124, nat125\n@docs nat126, nat127, nat128, nat129, nat13, nat130, nat131, nat132, nat133, nat134\n@docs nat135, nat136, nat137, nat138, nat139, nat14, nat140, nat141, nat142, nat143\n@docs nat144, nat145, nat146, nat147, nat148, nat149, nat15, nat150, nat151, nat152\n@docs nat153, nat154, nat155, nat156, nat157, nat158, nat159, nat16, nat160, nat161\n@docs nat162, nat163, nat164, nat165, nat166, nat167, nat168, nat17, nat18, nat19, nat2\n@docs nat20, nat21, nat22, nat23, nat24, nat25, nat26, nat27, nat28, nat29, nat3, nat30, nat31\n@docs nat32, nat33, nat34, nat35, nat36, nat37, nat38, nat39, nat4, nat40, nat41, nat42, nat43\n@docs nat44, nat45, nat46, nat47, nat48, nat49, nat5, nat50, nat51, nat52, nat53, nat54, nat55\n@docs nat56, nat57, nat58, nat59, nat6, nat60, nat61, nat62, nat63, nat64, nat65, nat66, nat67\n@docs nat68, nat69, nat7, nat70, nat71, nat72, nat73, nat74, nat75, nat76, nat77, nat78, nat79\n@docs nat8, nat80, nat81, nat82, nat83, nat84, nat85, nat86, nat87, nat88, nat89, nat9, nat90\n@docs nat91, nat92, nat93, nat94, nat95, nat96, nat97, nat98, nat99\n","unions":[],"aliases":[],"values":[{"name":"nat0","comment":" The `Nat` 0.\n\n\n","type":"N.Nat (N.N TypeNats.Nat0 (N.Is a N.To) a (N.And b N.To b))"},{"name":"nat1","comment":" The `Nat` 1.\n\n\n","type":"N.Nat (N.N TypeNats.Nat1 (N.Is a N.To) (TypeNats.Nat1Plus a) (N.And b N.To (TypeNats.Nat1Plus b)))"},{"name":"nat10","comment":" The `Nat` 10.\n\n\n","type":"N.Nat (N.N TypeNats.Nat10 (N.Is a N.To) (TypeNats.Nat10Plus a) (N.And b N.To (TypeNats.Nat10Plus b)))"},{"name":"nat100","comment":" The `Nat` 100.\n\n\n","type":"N.Nat (N.N TypeNats.Nat100 (N.Is a N.To) (TypeNats.Nat100Plus a) (N.And b N.To (TypeNats.Nat100Plus b)))"},{"name":"nat101","comment":" The `Nat` 101.\n\n\n","type":"N.Nat (N.N TypeNats.Nat101 (N.Is a N.To) (TypeNats.Nat101Plus a) (N.And b N.To (TypeNats.Nat101Plus b)))"},{"name":"nat102","comment":" The `Nat` 102.\n\n\n","type":"N.Nat (N.N TypeNats.Nat102 (N.Is a N.To) (TypeNats.Nat102Plus a) (N.And b N.To (TypeNats.Nat102Plus b)))"},{"name":"nat103","comment":" The `Nat` 103.\n\n\n","type":"N.Nat (N.N TypeNats.Nat103 (N.Is a N.To) (TypeNats.Nat103Plus a) (N.And b N.To (TypeNats.Nat103Plus b)))"},{"name":"nat104","comment":" The `Nat` 104.\n\n\n","type":"N.Nat (N.N TypeNats.Nat104 (N.Is a N.To) (TypeNats.Nat104Plus a) (N.And b N.To (TypeNats.Nat104Plus b)))"},{"name":"nat105","comment":" The `Nat` 105.\n\n\n","type":"N.Nat (N.N TypeNats.Nat105 (N.Is a N.To) (TypeNats.Nat105Plus a) (N.And b N.To (TypeNats.Nat105Plus b)))"},{"name":"nat106","comment":" The `Nat` 106.\n\n\n","type":"N.Nat (N.N TypeNats.Nat106 (N.Is a N.To) (TypeNats.Nat106Plus a) (N.And b N.To (TypeNats.Nat106Plus b)))"},{"name":"nat107","comment":" The `Nat` 107.\n\n\n","type":"N.Nat (N.N TypeNats.Nat107 (N.Is a N.To) (TypeNats.Nat107Plus a) (N.And b N.To (TypeNats.Nat107Plus b)))"},{"name":"nat108","comment":" The `Nat` 108.\n\n\n","type":"N.Nat (N.N TypeNats.Nat108 (N.Is a N.To) (TypeNats.Nat108Plus a) (N.And b N.To (TypeNats.Nat108Plus b)))"},{"name":"nat109","comment":" The `Nat` 109.\n\n\n","type":"N.Nat (N.N TypeNats.Nat109 (N.Is a N.To) (TypeNats.Nat109Plus a) (N.And b N.To (TypeNats.Nat109Plus b)))"},{"name":"nat11","comment":" The `Nat` 11.\n\n\n","type":"N.Nat (N.N TypeNats.Nat11 (N.Is a N.To) (TypeNats.Nat11Plus a) (N.And b N.To (TypeNats.Nat11Plus b)))"},{"name":"nat110","comment":" The `Nat` 110.\n\n\n","type":"N.Nat (N.N TypeNats.Nat110 (N.Is a N.To) (TypeNats.Nat110Plus a) (N.And b N.To (TypeNats.Nat110Plus b)))"},{"name":"nat111","comment":" The `Nat` 111.\n\n\n","type":"N.Nat (N.N TypeNats.Nat111 (N.Is a N.To) (TypeNats.Nat111Plus a) (N.And b N.To (TypeNats.Nat111Plus b)))"},{"name":"nat112","comment":" The `Nat` 112.\n\n\n","type":"N.Nat (N.N TypeNats.Nat112 (N.Is a N.To) (TypeNats.Nat112Plus a) (N.And b N.To (TypeNats.Nat112Plus b)))"},{"name":"nat113","comment":" The `Nat` 113.\n\n\n","type":"N.Nat (N.N TypeNats.Nat113 (N.Is a N.To) (TypeNats.Nat113Plus a) (N.And b N.To (TypeNats.Nat113Plus b)))"},{"name":"nat114","comment":" The `Nat` 114.\n\n\n","type":"N.Nat (N.N TypeNats.Nat114 (N.Is a N.To) (TypeNats.Nat114Plus a) (N.And b N.To (TypeNats.Nat114Plus b)))"},{"name":"nat115","comment":" The `Nat` 115.\n\n\n","type":"N.Nat (N.N TypeNats.Nat115 (N.Is a N.To) (TypeNats.Nat115Plus a) (N.And b N.To (TypeNats.Nat115Plus b)))"},{"name":"nat116","comment":" The `Nat` 116.\n\n\n","type":"N.Nat (N.N TypeNats.Nat116 (N.Is a N.To) (TypeNats.Nat116Plus a) (N.And b N.To (TypeNats.Nat116Plus b)))"},{"name":"nat117","comment":" The `Nat` 117.\n\n\n","type":"N.Nat (N.N TypeNats.Nat117 (N.Is a N.To) (TypeNats.Nat117Plus a) (N.And b N.To (TypeNats.Nat117Plus b)))"},{"name":"nat118","comment":" The `Nat` 118.\n\n\n","type":"N.Nat (N.N TypeNats.Nat118 (N.Is a N.To) (TypeNats.Nat118Plus a) (N.And b N.To (TypeNats.Nat118Plus b)))"},{"name":"nat119","comment":" The `Nat` 119.\n\n\n","type":"N.Nat (N.N TypeNats.Nat119 (N.Is a N.To) (TypeNats.Nat119Plus a) (N.And b N.To (TypeNats.Nat119Plus b)))"},{"name":"nat12","comment":" The `Nat` 12.\n\n\n","type":"N.Nat (N.N TypeNats.Nat12 (N.Is a N.To) (TypeNats.Nat12Plus a) (N.And b N.To (TypeNats.Nat12Plus b)))"},{"name":"nat120","comment":" The `Nat` 120.\n\n\n","type":"N.Nat (N.N TypeNats.Nat120 (N.Is a N.To) (TypeNats.Nat120Plus a) (N.And b N.To (TypeNats.Nat120Plus b)))"},{"name":"nat121","comment":" The `Nat` 121.\n\n\n","type":"N.Nat (N.N TypeNats.Nat121 (N.Is a N.To) (TypeNats.Nat121Plus a) (N.And b N.To (TypeNats.Nat121Plus b)))"},{"name":"nat122","comment":" The `Nat` 122.\n\n\n","type":"N.Nat (N.N TypeNats.Nat122 (N.Is a N.To) (TypeNats.Nat122Plus a) (N.And b N.To (TypeNats.Nat122Plus b)))"},{"name":"nat123","comment":" The `Nat` 123.\n\n\n","type":"N.Nat (N.N TypeNats.Nat123 (N.Is a N.To) (TypeNats.Nat123Plus a) (N.And b N.To (TypeNats.Nat123Plus b)))"},{"name":"nat124","comment":" The `Nat` 124.\n\n\n","type":"N.Nat (N.N TypeNats.Nat124 (N.Is a N.To) (TypeNats.Nat124Plus a) (N.And b N.To (TypeNats.Nat124Plus b)))"},{"name":"nat125","comment":" The `Nat` 125.\n\n\n","type":"N.Nat (N.N TypeNats.Nat125 (N.Is a N.To) (TypeNats.Nat125Plus a) (N.And b N.To (TypeNats.Nat125Plus b)))"},{"name":"nat126","comment":" The `Nat` 126.\n\n\n","type":"N.Nat (N.N TypeNats.Nat126 (N.Is a N.To) (TypeNats.Nat126Plus a) (N.And b N.To (TypeNats.Nat126Plus b)))"},{"name":"nat127","comment":" The `Nat` 127.\n\n\n","type":"N.Nat (N.N TypeNats.Nat127 (N.Is a N.To) (TypeNats.Nat127Plus a) (N.And b N.To (TypeNats.Nat127Plus b)))"},{"name":"nat128","comment":" The `Nat` 128.\n\n\n","type":"N.Nat (N.N TypeNats.Nat128 (N.Is a N.To) (TypeNats.Nat128Plus a) (N.And b N.To (TypeNats.Nat128Plus b)))"},{"name":"nat129","comment":" The `Nat` 129.\n\n\n","type":"N.Nat (N.N TypeNats.Nat129 (N.Is a N.To) (TypeNats.Nat129Plus a) (N.And b N.To (TypeNats.Nat129Plus b)))"},{"name":"nat13","comment":" The `Nat` 13.\n\n\n","type":"N.Nat (N.N TypeNats.Nat13 (N.Is a N.To) (TypeNats.Nat13Plus a) (N.And b N.To (TypeNats.Nat13Plus b)))"},{"name":"nat130","comment":" The `Nat` 130.\n\n\n","type":"N.Nat (N.N TypeNats.Nat130 (N.Is a N.To) (TypeNats.Nat130Plus a) (N.And b N.To (TypeNats.Nat130Plus b)))"},{"name":"nat131","comment":" The `Nat` 131.\n\n\n","type":"N.Nat (N.N TypeNats.Nat131 (N.Is a N.To) (TypeNats.Nat131Plus a) (N.And b N.To (TypeNats.Nat131Plus b)))"},{"name":"nat132","comment":" The `Nat` 132.\n\n\n","type":"N.Nat (N.N TypeNats.Nat132 (N.Is a N.To) (TypeNats.Nat132Plus a) (N.And b N.To (TypeNats.Nat132Plus b)))"},{"name":"nat133","comment":" The `Nat` 133.\n\n\n","type":"N.Nat (N.N TypeNats.Nat133 (N.Is a N.To) (TypeNats.Nat133Plus a) (N.And b N.To (TypeNats.Nat133Plus b)))"},{"name":"nat134","comment":" The `Nat` 134.\n\n\n","type":"N.Nat (N.N TypeNats.Nat134 (N.Is a N.To) (TypeNats.Nat134Plus a) (N.And b N.To (TypeNats.Nat134Plus b)))"},{"name":"nat135","comment":" The `Nat` 135.\n\n\n","type":"N.Nat (N.N TypeNats.Nat135 (N.Is a N.To) (TypeNats.Nat135Plus a) (N.And b N.To (TypeNats.Nat135Plus b)))"},{"name":"nat136","comment":" The `Nat` 136.\n\n\n","type":"N.Nat (N.N TypeNats.Nat136 (N.Is a N.To) (TypeNats.Nat136Plus a) (N.And b N.To (TypeNats.Nat136Plus b)))"},{"name":"nat137","comment":" The `Nat` 137.\n\n\n","type":"N.Nat (N.N TypeNats.Nat137 (N.Is a N.To) (TypeNats.Nat137Plus a) (N.And b N.To (TypeNats.Nat137Plus b)))"},{"name":"nat138","comment":" The `Nat` 138.\n\n\n","type":"N.Nat (N.N TypeNats.Nat138 (N.Is a N.To) (TypeNats.Nat138Plus a) (N.And b N.To (TypeNats.Nat138Plus b)))"},{"name":"nat139","comment":" The `Nat` 139.\n\n\n","type":"N.Nat (N.N TypeNats.Nat139 (N.Is a N.To) (TypeNats.Nat139Plus a) (N.And b N.To (TypeNats.Nat139Plus b)))"},{"name":"nat14","comment":" The `Nat` 14.\n\n\n","type":"N.Nat (N.N TypeNats.Nat14 (N.Is a N.To) (TypeNats.Nat14Plus a) (N.And b N.To (TypeNats.Nat14Plus b)))"},{"name":"nat140","comment":" The `Nat` 140.\n\n\n","type":"N.Nat (N.N TypeNats.Nat140 (N.Is a N.To) (TypeNats.Nat140Plus a) (N.And b N.To (TypeNats.Nat140Plus b)))"},{"name":"nat141","comment":" The `Nat` 141.\n\n\n","type":"N.Nat (N.N TypeNats.Nat141 (N.Is a N.To) (TypeNats.Nat141Plus a) (N.And b N.To (TypeNats.Nat141Plus b)))"},{"name":"nat142","comment":" The `Nat` 142.\n\n\n","type":"N.Nat (N.N TypeNats.Nat142 (N.Is a N.To) (TypeNats.Nat142Plus a) (N.And b N.To (TypeNats.Nat142Plus b)))"},{"name":"nat143","comment":" The `Nat` 143.\n\n\n","type":"N.Nat (N.N TypeNats.Nat143 (N.Is a N.To) (TypeNats.Nat143Plus a) (N.And b N.To (TypeNats.Nat143Plus b)))"},{"name":"nat144","comment":" The `Nat` 144.\n\n\n","type":"N.Nat (N.N TypeNats.Nat144 (N.Is a N.To) (TypeNats.Nat144Plus a) (N.And b N.To (TypeNats.Nat144Plus b)))"},{"name":"nat145","comment":" The `Nat` 145.\n\n\n","type":"N.Nat (N.N TypeNats.Nat145 (N.Is a N.To) (TypeNats.Nat145Plus a) (N.And b N.To (TypeNats.Nat145Plus b)))"},{"name":"nat146","comment":" The `Nat` 146.\n\n\n","type":"N.Nat (N.N TypeNats.Nat146 (N.Is a N.To) (TypeNats.Nat146Plus a) (N.And b N.To (TypeNats.Nat146Plus b)))"},{"name":"nat147","comment":" The `Nat` 147.\n\n\n","type":"N.Nat (N.N TypeNats.Nat147 (N.Is a N.To) (TypeNats.Nat147Plus a) (N.And b N.To (TypeNats.Nat147Plus b)))"},{"name":"nat148","comment":" The `Nat` 148.\n\n\n","type":"N.Nat (N.N TypeNats.Nat148 (N.Is a N.To) (TypeNats.Nat148Plus a) (N.And b N.To (TypeNats.Nat148Plus b)))"},{"name":"nat149","comment":" The `Nat` 149.\n\n\n","type":"N.Nat (N.N TypeNats.Nat149 (N.Is a N.To) (TypeNats.Nat149Plus a) (N.And b N.To (TypeNats.Nat149Plus b)))"},{"name":"nat15","comment":" The `Nat` 15.\n\n\n","type":"N.Nat (N.N TypeNats.Nat15 (N.Is a N.To) (TypeNats.Nat15Plus a) (N.And b N.To (TypeNats.Nat15Plus b)))"},{"name":"nat150","comment":" The `Nat` 150.\n\n\n","type":"N.Nat (N.N TypeNats.Nat150 (N.Is a N.To) (TypeNats.Nat150Plus a) (N.And b N.To (TypeNats.Nat150Plus b)))"},{"name":"nat151","comment":" The `Nat` 151.\n\n\n","type":"N.Nat (N.N TypeNats.Nat151 (N.Is a N.To) (TypeNats.Nat151Plus a) (N.And b N.To (TypeNats.Nat151Plus b)))"},{"name":"nat152","comment":" The `Nat` 152.\n\n\n","type":"N.Nat (N.N TypeNats.Nat152 (N.Is a N.To) (TypeNats.Nat152Plus a) (N.And b N.To (TypeNats.Nat152Plus b)))"},{"name":"nat153","comment":" The `Nat` 153.\n\n\n","type":"N.Nat (N.N TypeNats.Nat153 (N.Is a N.To) (TypeNats.Nat153Plus a) (N.And b N.To (TypeNats.Nat153Plus b)))"},{"name":"nat154","comment":" The `Nat` 154.\n\n\n","type":"N.Nat (N.N TypeNats.Nat154 (N.Is a N.To) (TypeNats.Nat154Plus a) (N.And b N.To (TypeNats.Nat154Plus b)))"},{"name":"nat155","comment":" The `Nat` 155.\n\n\n","type":"N.Nat (N.N TypeNats.Nat155 (N.Is a N.To) (TypeNats.Nat155Plus a) (N.And b N.To (TypeNats.Nat155Plus b)))"},{"name":"nat156","comment":" The `Nat` 156.\n\n\n","type":"N.Nat (N.N TypeNats.Nat156 (N.Is a N.To) (TypeNats.Nat156Plus a) (N.And b N.To (TypeNats.Nat156Plus b)))"},{"name":"nat157","comment":" The `Nat` 157.\n\n\n","type":"N.Nat (N.N TypeNats.Nat157 (N.Is a N.To) (TypeNats.Nat157Plus a) (N.And b N.To (TypeNats.Nat157Plus b)))"},{"name":"nat158","comment":" The `Nat` 158.\n\n\n","type":"N.Nat (N.N TypeNats.Nat158 (N.Is a N.To) (TypeNats.Nat158Plus a) (N.And b N.To (TypeNats.Nat158Plus b)))"},{"name":"nat159","comment":" The `Nat` 159.\n\n\n","type":"N.Nat (N.N TypeNats.Nat159 (N.Is a N.To) (TypeNats.Nat159Plus a) (N.And b N.To (TypeNats.Nat159Plus b)))"},{"name":"nat16","comment":" The `Nat` 16.\n\n\n","type":"N.Nat (N.N TypeNats.Nat16 (N.Is a N.To) (TypeNats.Nat16Plus a) (N.And b N.To (TypeNats.Nat16Plus b)))"},{"name":"nat160","comment":" The `Nat` 160.\n\n\n","type":"N.Nat (N.N TypeNats.Nat160 (N.Is a N.To) (TypeNats.Nat160Plus a) (N.And b N.To (TypeNats.Nat160Plus b)))"},{"name":"nat161","comment":" The `Nat` 161.\n\n\n","type":"N.Nat (N.N TypeNats.Nat161 (N.Is a N.To) (TypeNats.Nat161Plus a) (N.And b N.To (TypeNats.Nat161Plus b)))"},{"name":"nat162","comment":" The `Nat` 162.\n\n\n","type":"N.Nat (N.N TypeNats.Nat162 (N.Is a N.To) (TypeNats.Nat162Plus a) (N.And b N.To (TypeNats.Nat162Plus b)))"},{"name":"nat163","comment":" The `Nat` 163.\n\n\n","type":"N.Nat (N.N TypeNats.Nat163 (N.Is a N.To) (TypeNats.Nat163Plus a) (N.And b N.To (TypeNats.Nat163Plus b)))"},{"name":"nat164","comment":" The `Nat` 164.\n\n\n","type":"N.Nat (N.N TypeNats.Nat164 (N.Is a N.To) (TypeNats.Nat164Plus a) (N.And b N.To (TypeNats.Nat164Plus b)))"},{"name":"nat165","comment":" The `Nat` 165.\n\n\n","type":"N.Nat (N.N TypeNats.Nat165 (N.Is a N.To) (TypeNats.Nat165Plus a) (N.And b N.To (TypeNats.Nat165Plus b)))"},{"name":"nat166","comment":" The `Nat` 166.\n\n\n","type":"N.Nat (N.N TypeNats.Nat166 (N.Is a N.To) (TypeNats.Nat166Plus a) (N.And b N.To (TypeNats.Nat166Plus b)))"},{"name":"nat167","comment":" The `Nat` 167.\n\n\n","type":"N.Nat (N.N TypeNats.Nat167 (N.Is a N.To) (TypeNats.Nat167Plus a) (N.And b N.To (TypeNats.Nat167Plus b)))"},{"name":"nat168","comment":" The `Nat` 168.\n\n\n","type":"N.Nat (N.N TypeNats.Nat168 (N.Is a N.To) (TypeNats.Nat168Plus a) (N.And b N.To (TypeNats.Nat168Plus b)))"},{"name":"nat17","comment":" The `Nat` 17.\n\n\n","type":"N.Nat (N.N TypeNats.Nat17 (N.Is a N.To) (TypeNats.Nat17Plus a) (N.And b N.To (TypeNats.Nat17Plus b)))"},{"name":"nat18","comment":" The `Nat` 18.\n\n\n","type":"N.Nat (N.N TypeNats.Nat18 (N.Is a N.To) (TypeNats.Nat18Plus a) (N.And b N.To (TypeNats.Nat18Plus b)))"},{"name":"nat19","comment":" The `Nat` 19.\n\n\n","type":"N.Nat (N.N TypeNats.Nat19 (N.Is a N.To) (TypeNats.Nat19Plus a) (N.And b N.To (TypeNats.Nat19Plus b)))"},{"name":"nat2","comment":" The `Nat` 2.\n\n\n","type":"N.Nat (N.N TypeNats.Nat2 (N.Is a N.To) (TypeNats.Nat2Plus a) (N.And b N.To (TypeNats.Nat2Plus b)))"},{"name":"nat20","comment":" The `Nat` 20.\n\n\n","type":"N.Nat (N.N TypeNats.Nat20 (N.Is a N.To) (TypeNats.Nat20Plus a) (N.And b N.To (TypeNats.Nat20Plus b)))"},{"name":"nat21","comment":" The `Nat` 21.\n\n\n","type":"N.Nat (N.N TypeNats.Nat21 (N.Is a N.To) (TypeNats.Nat21Plus a) (N.And b N.To (TypeNats.Nat21Plus b)))"},{"name":"nat22","comment":" The `Nat` 22.\n\n\n","type":"N.Nat (N.N TypeNats.Nat22 (N.Is a N.To) (TypeNats.Nat22Plus a) (N.And b N.To (TypeNats.Nat22Plus b)))"},{"name":"nat23","comment":" The `Nat` 23.\n\n\n","type":"N.Nat (N.N TypeNats.Nat23 (N.Is a N.To) (TypeNats.Nat23Plus a) (N.And b N.To (TypeNats.Nat23Plus b)))"},{"name":"nat24","comment":" The `Nat` 24.\n\n\n","type":"N.Nat (N.N TypeNats.Nat24 (N.Is a N.To) (TypeNats.Nat24Plus a) (N.And b N.To (TypeNats.Nat24Plus b)))"},{"name":"nat25","comment":" The `Nat` 25.\n\n\n","type":"N.Nat (N.N TypeNats.Nat25 (N.Is a N.To) (TypeNats.Nat25Plus a) (N.And b N.To (TypeNats.Nat25Plus b)))"},{"name":"nat26","comment":" The `Nat` 26.\n\n\n","type":"N.Nat (N.N TypeNats.Nat26 (N.Is a N.To) (TypeNats.Nat26Plus a) (N.And b N.To (TypeNats.Nat26Plus b)))"},{"name":"nat27","comment":" The `Nat` 27.\n\n\n","type":"N.Nat (N.N TypeNats.Nat27 (N.Is a N.To) (TypeNats.Nat27Plus a) (N.And b N.To (TypeNats.Nat27Plus b)))"},{"name":"nat28","comment":" The `Nat` 28.\n\n\n","type":"N.Nat (N.N TypeNats.Nat28 (N.Is a N.To) (TypeNats.Nat28Plus a) (N.And b N.To (TypeNats.Nat28Plus b)))"},{"name":"nat29","comment":" The `Nat` 29.\n\n\n","type":"N.Nat (N.N TypeNats.Nat29 (N.Is a N.To) (TypeNats.Nat29Plus a) (N.And b N.To (TypeNats.Nat29Plus b)))"},{"name":"nat3","comment":" The `Nat` 3.\n\n\n","type":"N.Nat (N.N TypeNats.Nat3 (N.Is a N.To) (TypeNats.Nat3Plus a) (N.And b N.To (TypeNats.Nat3Plus b)))"},{"name":"nat30","comment":" The `Nat` 30.\n\n\n","type":"N.Nat (N.N TypeNats.Nat30 (N.Is a N.To) (TypeNats.Nat30Plus a) (N.And b N.To (TypeNats.Nat30Plus b)))"},{"name":"nat31","comment":" The `Nat` 31.\n\n\n","type":"N.Nat (N.N TypeNats.Nat31 (N.Is a N.To) (TypeNats.Nat31Plus a) (N.And b N.To (TypeNats.Nat31Plus b)))"},{"name":"nat32","comment":" The `Nat` 32.\n\n\n","type":"N.Nat (N.N TypeNats.Nat32 (N.Is a N.To) (TypeNats.Nat32Plus a) (N.And b N.To (TypeNats.Nat32Plus b)))"},{"name":"nat33","comment":" The `Nat` 33.\n\n\n","type":"N.Nat (N.N TypeNats.Nat33 (N.Is a N.To) (TypeNats.Nat33Plus a) (N.And b N.To (TypeNats.Nat33Plus b)))"},{"name":"nat34","comment":" The `Nat` 34.\n\n\n","type":"N.Nat (N.N TypeNats.Nat34 (N.Is a N.To) (TypeNats.Nat34Plus a) (N.And b N.To (TypeNats.Nat34Plus b)))"},{"name":"nat35","comment":" The `Nat` 35.\n\n\n","type":"N.Nat (N.N TypeNats.Nat35 (N.Is a N.To) (TypeNats.Nat35Plus a) (N.And b N.To (TypeNats.Nat35Plus b)))"},{"name":"nat36","comment":" The `Nat` 36.\n\n\n","type":"N.Nat (N.N TypeNats.Nat36 (N.Is a N.To) (TypeNats.Nat36Plus a) (N.And b N.To (TypeNats.Nat36Plus b)))"},{"name":"nat37","comment":" The `Nat` 37.\n\n\n","type":"N.Nat (N.N TypeNats.Nat37 (N.Is a N.To) (TypeNats.Nat37Plus a) (N.And b N.To (TypeNats.Nat37Plus b)))"},{"name":"nat38","comment":" The `Nat` 38.\n\n\n","type":"N.Nat (N.N TypeNats.Nat38 (N.Is a N.To) (TypeNats.Nat38Plus a) (N.And b N.To (TypeNats.Nat38Plus b)))"},{"name":"nat39","comment":" The `Nat` 39.\n\n\n","type":"N.Nat (N.N TypeNats.Nat39 (N.Is a N.To) (TypeNats.Nat39Plus a) (N.And b N.To (TypeNats.Nat39Plus b)))"},{"name":"nat4","comment":" The `Nat` 4.\n\n\n","type":"N.Nat (N.N TypeNats.Nat4 (N.Is a N.To) (TypeNats.Nat4Plus a) (N.And b N.To (TypeNats.Nat4Plus b)))"},{"name":"nat40","comment":" The `Nat` 40.\n\n\n","type":"N.Nat (N.N TypeNats.Nat40 (N.Is a N.To) (TypeNats.Nat40Plus a) (N.And b N.To (TypeNats.Nat40Plus b)))"},{"name":"nat41","comment":" The `Nat` 41.\n\n\n","type":"N.Nat (N.N TypeNats.Nat41 (N.Is a N.To) (TypeNats.Nat41Plus a) (N.And b N.To (TypeNats.Nat41Plus b)))"},{"name":"nat42","comment":" The `Nat` 42.\n\n\n","type":"N.Nat (N.N TypeNats.Nat42 (N.Is a N.To) (TypeNats.Nat42Plus a) (N.And b N.To (TypeNats.Nat42Plus b)))"},{"name":"nat43","comment":" The `Nat` 43.\n\n\n","type":"N.Nat (N.N TypeNats.Nat43 (N.Is a N.To) (TypeNats.Nat43Plus a) (N.And b N.To (TypeNats.Nat43Plus b)))"},{"name":"nat44","comment":" The `Nat` 44.\n\n\n","type":"N.Nat (N.N TypeNats.Nat44 (N.Is a N.To) (TypeNats.Nat44Plus a) (N.And b N.To (TypeNats.Nat44Plus b)))"},{"name":"nat45","comment":" The `Nat` 45.\n\n\n","type":"N.Nat (N.N TypeNats.Nat45 (N.Is a N.To) (TypeNats.Nat45Plus a) (N.And b N.To (TypeNats.Nat45Plus b)))"},{"name":"nat46","comment":" The `Nat` 46.\n\n\n","type":"N.Nat (N.N TypeNats.Nat46 (N.Is a N.To) (TypeNats.Nat46Plus a) (N.And b N.To (TypeNats.Nat46Plus b)))"},{"name":"nat47","comment":" The `Nat` 47.\n\n\n","type":"N.Nat (N.N TypeNats.Nat47 (N.Is a N.To) (TypeNats.Nat47Plus a) (N.And b N.To (TypeNats.Nat47Plus b)))"},{"name":"nat48","comment":" The `Nat` 48.\n\n\n","type":"N.Nat (N.N TypeNats.Nat48 (N.Is a N.To) (TypeNats.Nat48Plus a) (N.And b N.To (TypeNats.Nat48Plus b)))"},{"name":"nat49","comment":" The `Nat` 49.\n\n\n","type":"N.Nat (N.N TypeNats.Nat49 (N.Is a N.To) (TypeNats.Nat49Plus a) (N.And b N.To (TypeNats.Nat49Plus b)))"},{"name":"nat5","comment":" The `Nat` 5.\n\n\n","type":"N.Nat (N.N TypeNats.Nat5 (N.Is a N.To) (TypeNats.Nat5Plus a) (N.And b N.To (TypeNats.Nat5Plus b)))"},{"name":"nat50","comment":" The `Nat` 50.\n\n\n","type":"N.Nat (N.N TypeNats.Nat50 (N.Is a N.To) (TypeNats.Nat50Plus a) (N.And b N.To (TypeNats.Nat50Plus b)))"},{"name":"nat51","comment":" The `Nat` 51.\n\n\n","type":"N.Nat (N.N TypeNats.Nat51 (N.Is a N.To) (TypeNats.Nat51Plus a) (N.And b N.To (TypeNats.Nat51Plus b)))"},{"name":"nat52","comment":" The `Nat` 52.\n\n\n","type":"N.Nat (N.N TypeNats.Nat52 (N.Is a N.To) (TypeNats.Nat52Plus a) (N.And b N.To (TypeNats.Nat52Plus b)))"},{"name":"nat53","comment":" The `Nat` 53.\n\n\n","type":"N.Nat (N.N TypeNats.Nat53 (N.Is a N.To) (TypeNats.Nat53Plus a) (N.And b N.To (TypeNats.Nat53Plus b)))"},{"name":"nat54","comment":" The `Nat` 54.\n\n\n","type":"N.Nat (N.N TypeNats.Nat54 (N.Is a N.To) (TypeNats.Nat54Plus a) (N.And b N.To (TypeNats.Nat54Plus b)))"},{"name":"nat55","comment":" The `Nat` 55.\n\n\n","type":"N.Nat (N.N TypeNats.Nat55 (N.Is a N.To) (TypeNats.Nat55Plus a) (N.And b N.To (TypeNats.Nat55Plus b)))"},{"name":"nat56","comment":" The `Nat` 56.\n\n\n","type":"N.Nat (N.N TypeNats.Nat56 (N.Is a N.To) (TypeNats.Nat56Plus a) (N.And b N.To (TypeNats.Nat56Plus b)))"},{"name":"nat57","comment":" The `Nat` 57.\n\n\n","type":"N.Nat (N.N TypeNats.Nat57 (N.Is a N.To) (TypeNats.Nat57Plus a) (N.And b N.To (TypeNats.Nat57Plus b)))"},{"name":"nat58","comment":" The `Nat` 58.\n\n\n","type":"N.Nat (N.N TypeNats.Nat58 (N.Is a N.To) (TypeNats.Nat58Plus a) (N.And b N.To (TypeNats.Nat58Plus b)))"},{"name":"nat59","comment":" The `Nat` 59.\n\n\n","type":"N.Nat (N.N TypeNats.Nat59 (N.Is a N.To) (TypeNats.Nat59Plus a) (N.And b N.To (TypeNats.Nat59Plus b)))"},{"name":"nat6","comment":" The `Nat` 6.\n\n\n","type":"N.Nat (N.N TypeNats.Nat6 (N.Is a N.To) (TypeNats.Nat6Plus a) (N.And b N.To (TypeNats.Nat6Plus b)))"},{"name":"nat60","comment":" The `Nat` 60.\n\n\n","type":"N.Nat (N.N TypeNats.Nat60 (N.Is a N.To) (TypeNats.Nat60Plus a) (N.And b N.To (TypeNats.Nat60Plus b)))"},{"name":"nat61","comment":" The `Nat` 61.\n\n\n","type":"N.Nat (N.N TypeNats.Nat61 (N.Is a N.To) (TypeNats.Nat61Plus a) (N.And b N.To (TypeNats.Nat61Plus b)))"},{"name":"nat62","comment":" The `Nat` 62.\n\n\n","type":"N.Nat (N.N TypeNats.Nat62 (N.Is a N.To) (TypeNats.Nat62Plus a) (N.And b N.To (TypeNats.Nat62Plus b)))"},{"name":"nat63","comment":" The `Nat` 63.\n\n\n","type":"N.Nat (N.N TypeNats.Nat63 (N.Is a N.To) (TypeNats.Nat63Plus a) (N.And b N.To (TypeNats.Nat63Plus b)))"},{"name":"nat64","comment":" The `Nat` 64.\n\n\n","type":"N.Nat (N.N TypeNats.Nat64 (N.Is a N.To) (TypeNats.Nat64Plus a) (N.And b N.To (TypeNats.Nat64Plus b)))"},{"name":"nat65","comment":" The `Nat` 65.\n\n\n","type":"N.Nat (N.N TypeNats.Nat65 (N.Is a N.To) (TypeNats.Nat65Plus a) (N.And b N.To (TypeNats.Nat65Plus b)))"},{"name":"nat66","comment":" The `Nat` 66.\n\n\n","type":"N.Nat (N.N TypeNats.Nat66 (N.Is a N.To) (TypeNats.Nat66Plus a) (N.And b N.To (TypeNats.Nat66Plus b)))"},{"name":"nat67","comment":" The `Nat` 67.\n\n\n","type":"N.Nat (N.N TypeNats.Nat67 (N.Is a N.To) (TypeNats.Nat67Plus a) (N.And b N.To (TypeNats.Nat67Plus b)))"},{"name":"nat68","comment":" The `Nat` 68.\n\n\n","type":"N.Nat (N.N TypeNats.Nat68 (N.Is a N.To) (TypeNats.Nat68Plus a) (N.And b N.To (TypeNats.Nat68Plus b)))"},{"name":"nat69","comment":" The `Nat` 69.\n\n\n","type":"N.Nat (N.N TypeNats.Nat69 (N.Is a N.To) (TypeNats.Nat69Plus a) (N.And b N.To (TypeNats.Nat69Plus b)))"},{"name":"nat7","comment":" The `Nat` 7.\n\n\n","type":"N.Nat (N.N TypeNats.Nat7 (N.Is a N.To) (TypeNats.Nat7Plus a) (N.And b N.To (TypeNats.Nat7Plus b)))"},{"name":"nat70","comment":" The `Nat` 70.\n\n\n","type":"N.Nat (N.N TypeNats.Nat70 (N.Is a N.To) (TypeNats.Nat70Plus a) (N.And b N.To (TypeNats.Nat70Plus b)))"},{"name":"nat71","comment":" The `Nat` 71.\n\n\n","type":"N.Nat (N.N TypeNats.Nat71 (N.Is a N.To) (TypeNats.Nat71Plus a) (N.And b N.To (TypeNats.Nat71Plus b)))"},{"name":"nat72","comment":" The `Nat` 72.\n\n\n","type":"N.Nat (N.N TypeNats.Nat72 (N.Is a N.To) (TypeNats.Nat72Plus a) (N.And b N.To (TypeNats.Nat72Plus b)))"},{"name":"nat73","comment":" The `Nat` 73.\n\n\n","type":"N.Nat (N.N TypeNats.Nat73 (N.Is a N.To) (TypeNats.Nat73Plus a) (N.And b N.To (TypeNats.Nat73Plus b)))"},{"name":"nat74","comment":" The `Nat` 74.\n\n\n","type":"N.Nat (N.N TypeNats.Nat74 (N.Is a N.To) (TypeNats.Nat74Plus a) (N.And b N.To (TypeNats.Nat74Plus b)))"},{"name":"nat75","comment":" The `Nat` 75.\n\n\n","type":"N.Nat (N.N TypeNats.Nat75 (N.Is a N.To) (TypeNats.Nat75Plus a) (N.And b N.To (TypeNats.Nat75Plus b)))"},{"name":"nat76","comment":" The `Nat` 76.\n\n\n","type":"N.Nat (N.N TypeNats.Nat76 (N.Is a N.To) (TypeNats.Nat76Plus a) (N.And b N.To (TypeNats.Nat76Plus b)))"},{"name":"nat77","comment":" The `Nat` 77.\n\n\n","type":"N.Nat (N.N TypeNats.Nat77 (N.Is a N.To) (TypeNats.Nat77Plus a) (N.And b N.To (TypeNats.Nat77Plus b)))"},{"name":"nat78","comment":" The `Nat` 78.\n\n\n","type":"N.Nat (N.N TypeNats.Nat78 (N.Is a N.To) (TypeNats.Nat78Plus a) (N.And b N.To (TypeNats.Nat78Plus b)))"},{"name":"nat79","comment":" The `Nat` 79.\n\n\n","type":"N.Nat (N.N TypeNats.Nat79 (N.Is a N.To) (TypeNats.Nat79Plus a) (N.And b N.To (TypeNats.Nat79Plus b)))"},{"name":"nat8","comment":" The `Nat` 8.\n\n\n","type":"N.Nat (N.N TypeNats.Nat8 (N.Is a N.To) (TypeNats.Nat8Plus a) (N.And b N.To (TypeNats.Nat8Plus b)))"},{"name":"nat80","comment":" The `Nat` 80.\n\n\n","type":"N.Nat (N.N TypeNats.Nat80 (N.Is a N.To) (TypeNats.Nat80Plus a) (N.And b N.To (TypeNats.Nat80Plus b)))"},{"name":"nat81","comment":" The `Nat` 81.\n\n\n","type":"N.Nat (N.N TypeNats.Nat81 (N.Is a N.To) (TypeNats.Nat81Plus a) (N.And b N.To (TypeNats.Nat81Plus b)))"},{"name":"nat82","comment":" The `Nat` 82.\n\n\n","type":"N.Nat (N.N TypeNats.Nat82 (N.Is a N.To) (TypeNats.Nat82Plus a) (N.And b N.To (TypeNats.Nat82Plus b)))"},{"name":"nat83","comment":" The `Nat` 83.\n\n\n","type":"N.Nat (N.N TypeNats.Nat83 (N.Is a N.To) (TypeNats.Nat83Plus a) (N.And b N.To (TypeNats.Nat83Plus b)))"},{"name":"nat84","comment":" The `Nat` 84.\n\n\n","type":"N.Nat (N.N TypeNats.Nat84 (N.Is a N.To) (TypeNats.Nat84Plus a) (N.And b N.To (TypeNats.Nat84Plus b)))"},{"name":"nat85","comment":" The `Nat` 85.\n\n\n","type":"N.Nat (N.N TypeNats.Nat85 (N.Is a N.To) (TypeNats.Nat85Plus a) (N.And b N.To (TypeNats.Nat85Plus b)))"},{"name":"nat86","comment":" The `Nat` 86.\n\n\n","type":"N.Nat (N.N TypeNats.Nat86 (N.Is a N.To) (TypeNats.Nat86Plus a) (N.And b N.To (TypeNats.Nat86Plus b)))"},{"name":"nat87","comment":" The `Nat` 87.\n\n\n","type":"N.Nat (N.N TypeNats.Nat87 (N.Is a N.To) (TypeNats.Nat87Plus a) (N.And b N.To (TypeNats.Nat87Plus b)))"},{"name":"nat88","comment":" The `Nat` 88.\n\n\n","type":"N.Nat (N.N TypeNats.Nat88 (N.Is a N.To) (TypeNats.Nat88Plus a) (N.And b N.To (TypeNats.Nat88Plus b)))"},{"name":"nat89","comment":" The `Nat` 89.\n\n\n","type":"N.Nat (N.N TypeNats.Nat89 (N.Is a N.To) (TypeNats.Nat89Plus a) (N.And b N.To (TypeNats.Nat89Plus b)))"},{"name":"nat9","comment":" The `Nat` 9.\n\n\n","type":"N.Nat (N.N TypeNats.Nat9 (N.Is a N.To) (TypeNats.Nat9Plus a) (N.And b N.To (TypeNats.Nat9Plus b)))"},{"name":"nat90","comment":" The `Nat` 90.\n\n\n","type":"N.Nat (N.N TypeNats.Nat90 (N.Is a N.To) (TypeNats.Nat90Plus a) (N.And b N.To (TypeNats.Nat90Plus b)))"},{"name":"nat91","comment":" The `Nat` 91.\n\n\n","type":"N.Nat (N.N TypeNats.Nat91 (N.Is a N.To) (TypeNats.Nat91Plus a) (N.And b N.To (TypeNats.Nat91Plus b)))"},{"name":"nat92","comment":" The `Nat` 92.\n\n\n","type":"N.Nat (N.N TypeNats.Nat92 (N.Is a N.To) (TypeNats.Nat92Plus a) (N.And b N.To (TypeNats.Nat92Plus b)))"},{"name":"nat93","comment":" The `Nat` 93.\n\n\n","type":"N.Nat (N.N TypeNats.Nat93 (N.Is a N.To) (TypeNats.Nat93Plus a) (N.And b N.To (TypeNats.Nat93Plus b)))"},{"name":"nat94","comment":" The `Nat` 94.\n\n\n","type":"N.Nat (N.N TypeNats.Nat94 (N.Is a N.To) (TypeNats.Nat94Plus a) (N.And b N.To (TypeNats.Nat94Plus b)))"},{"name":"nat95","comment":" The `Nat` 95.\n\n\n","type":"N.Nat (N.N TypeNats.Nat95 (N.Is a N.To) (TypeNats.Nat95Plus a) (N.And b N.To (TypeNats.Nat95Plus b)))"},{"name":"nat96","comment":" The `Nat` 96.\n\n\n","type":"N.Nat (N.N TypeNats.Nat96 (N.Is a N.To) (TypeNats.Nat96Plus a) (N.And b N.To (TypeNats.Nat96Plus b)))"},{"name":"nat97","comment":" The `Nat` 97.\n\n\n","type":"N.Nat (N.N TypeNats.Nat97 (N.Is a N.To) (TypeNats.Nat97Plus a) (N.And b N.To (TypeNats.Nat97Plus b)))"},{"name":"nat98","comment":" The `Nat` 98.\n\n\n","type":"N.Nat (N.N TypeNats.Nat98 (N.Is a N.To) (TypeNats.Nat98Plus a) (N.And b N.To (TypeNats.Nat98Plus b)))"},{"name":"nat99","comment":" The `Nat` 99.\n\n\n","type":"N.Nat (N.N TypeNats.Nat99 (N.Is a N.To) (TypeNats.Nat99Plus a) (N.And b N.To (TypeNats.Nat99Plus b)))"}],"binops":[]},{"name":"Nat","comment":"\n\n@docs Nat\n\n\n## create\n\n@docs abs, range, random\n\n\n## transform\n\n@docs toInt, bi\n\n\n## compare\n\n@docs theGreater, theSmaller\n@docs isIntInRange, isIntAtLeast\n\n\n### clamp\n\n@docs intAtLeast, intInRange\n\n","unions":[],"aliases":[{"name":"Nat","comment":" A **bounded** natural number (`>= 0`).\n\n\n## value / return types\n\n    -- >= 4\n    Nat (ValueMin Nat4)\n\n    -- 2 <= nat <= 12\n    Nat (ValueIn Nat2 Nat12)\n\n    -- = 3, & 3, described as a difference\n    Nat (N Nat3 (Nat3Plus more) (Is a To (Nat3Plus a)) (Is b To (Nat3Plus b)))\n\n\n## function argument types\n\n    -- >= 4\n    Nat (In (Nat4Plus minMinus4) max maybeN)\n\n    -- 4 <= nat <= 5\n    Nat (In (Nat4Plus minMinus4) Nat15 maybeN)\n\n    -- any, just >= 0\n    Nat range\n\n    -- Not constuctable\n    Nat Banana\n\n","args":["range"],"type":"N.Nat range"}],"values":[{"name":"abs","comment":" The absolute value of an `Int`, which is at least `Nat0`.\n\n    MinNat.abs 16 --> Nat 16\n\n    MinNat.abs -4 --> Nat 4\n\nReally only use this if you want the absolute value.\n\n    badLength list =\n        List.length >> MinNat.abs\n\n    goodLength =\n        List.foldl\n            (\\_ ->\n                MinNat.addN nat1\n                    >> InNat.lowerMin nat0\n            )\n            (nat0 |> NNat.toMin)\n\nIf something like this isn't possible, use [`MinNat.intAtLeast`](MinNat#intAtLeast)!\n\n","type":"Basics.Int -> Nat.Nat (Nat.Bound.ValueMin TypeNats.Nat0)"},{"name":"bi","comment":" Use the `Int` values of two `Nat`s to return a result.\n\n    Nat.bi (>=) nat5 nat4 --> True\n\n    Nat.bi (>=) nat5 nat40 --> False\n\nNote, that you must give the `Nat`s in the same order you would give `Int`s.\n\nDon't overuse this.\n\n","type":"(Basics.Int -> Basics.Int -> result) -> Nat.Nat aRange -> Nat.Nat bRange -> result"},{"name":"intAtLeast","comment":" A `Nat (Min ...)` from an `Int`; if the `Int < minimum`, `minimum` is returned.\n\n    9 |> Nat.intAtLeast (nat3 |> NNat.toMin)\n    --> Nat 9\n\n    0 |> Nat.intAtLeast (nat3 |> NNat.toMin)\n    --> Nat 3\n\nYou can also use this if you know an `Int` must be at least `minimum`.\n\nBut avoid it if you can do better, like\n\n    goodLength =\n        List.foldl\n            (\\_ ->\n                MinNat.addN nat1\n                    >> InNat.lowerMin nat0\n            )\n            (nat0 |> InNat.toMin)\n\nIf you want to handle the case `< minimum` yourself, use [`Nat.isIntAtLeast`](Nat#isIntAtLeast).\n\n","type":"Nat.Nat (Nat.Bound.In min max maybeN) -> Basics.Int -> Nat.Nat (Nat.Bound.ValueMin min)"},{"name":"intInRange","comment":" A `Nat (In ...)` from an `Int`, **clamped** between a minimum & maximum.\n\n  - if the `Int < minimum`, `minimum` is returned\n  - if the `Int > maximum`, `maximum` is returned\n\n```\nclampBetween3And12 =\n    Nat.intInRange nat3 nat12\n\n9 |> clampBetween3And12 --> Nat 9\n\n0 |> clampBetween3And12 --> Nat 3\n\n99 |> clampBetween3And12 --> Nat 12\n```\n\nIf you want to handle the cases `< minimum` & `> maximum` explicitly, use [`isIntInRange`](InNat#isIntInRange).\n\n","type":"Nat.Nat (Nat.Bound.In min firstMax maybeN) -> Nat.Nat (Nat.Bound.In firstMax max upperMaybeN) -> Basics.Int -> Nat.Nat (Nat.Bound.ValueIn min max)"},{"name":"isIntAtLeast","comment":" If the `Int >= a minimum`, `Just` the `Nat (Min minimum)`, else `Nothing`.\n\n    4 |> Nat.isIntAtLeast nat5 --> Nothing\n\n    1234 |> Nat.isIntAtLeast nat5 --> Just (Nat 1234)\n\n","type":"Nat.Nat (Nat.Bound.In min max maybeN) -> Basics.Int -> Maybe.Maybe (Nat.Nat (Nat.Bound.ValueMin min))"},{"name":"isIntInRange","comment":" An `Int` compared to a range from `first` to `last`.\n\n    rejectOrAcceptUserInt =\n        isIntInRange nat1 nat100\n            { less = Err \"must be >= 1\"\n            , greater = \\_-> Err \"must be <= 100\"\n            , inRange = Ok\n            }\n\n    rejectOrAcceptUserInt (NNat.toIn nat0)\n    --> Err \"must be >= 1\"\n\n","type":"{ first : Nat.Nat (Nat.Bound.In minFirst last firstMaybeN), last : Nat.Nat (Nat.Bound.In last lastPlusA lastMaybeN) } -> { less : () -> result, greater : Nat.Nat (Nat.Bound.ValueMin (TypeNats.Nat1Plus last)) -> result, inRange : Nat.Nat (Nat.Bound.ValueIn minFirst lastPlusA) -> result } -> Basics.Int -> result"},{"name":"random","comment":" Generate a random `Nat (In ...)` in a range.\n","type":"Nat.Nat (Nat.Bound.In firstMin lastMin firstMaybeN) -> Nat.Nat (Nat.Bound.In lastMin lastMax lastMaybeN) -> Random.Generator (Nat.Nat (Nat.Bound.ValueIn firstMin lastMax))"},{"name":"range","comment":" `Nat (In ...)`s from a first to a last value.\n\n    from3To10 : List (Nat (ValueIn Nat3 (Nat10Plus a)))\n    from3To10 =\n        InNat.range nat3 nat10\n\n    from3ToAtLeast10 : List (Nat (ValueMin Nat3))\n    from3ToAtLeast10 =\n        InNat.range nat3 atLeast10\n\nThe resulting `List` is never empty.\n\n","type":"Nat.Nat (Nat.Bound.In firstMin lastMin firstMaybeN) -> Nat.Nat (Nat.Bound.In lastMin lastMax lastMaybeN) -> List.List (Nat.Nat (Nat.Bound.ValueIn firstMin lastMax))"},{"name":"theGreater","comment":" The greater of 2 `Nat`s. Works just like `Basics.max`.\n\n    Nat.theGreater atLeast3\n        (atLeast4 |> InNat.lowerMin nat3)\n    --> Nat 4\n\n","type":"Nat.Nat range -> Nat.Nat range -> Nat.Nat range"},{"name":"theSmaller","comment":" The smaller of 2 `Nat`s. Works just like `Basics.min`.\n\n    Nat.theSmaller atLeast3\n        (atLeast4 |> InNat.lowerMin nat3)\n    --> Nat 3\n\n","type":"Nat.Nat range -> Nat.Nat range -> Nat.Nat range"},{"name":"toInt","comment":" Convert a `Nat` to an `Int`.\n\n    nat4 |> Nat.toInt --> 4\n    nat4 |> NNat.toIn |> Nat.toInt --> 4\n    nat4 |> NNat.toMin |> Nat.toInt --> 4\n\n    compare : Nat range -> Nat range -> Order\n    compare a b =\n        compare (Nat.toInt a) (Nat.toInt b)\n\n","type":"Nat.Nat range -> Basics.Int"}],"binops":[]},{"name":"Nat.Bound","comment":"\n\n\n## function argument\n\n@docs In\n\n@docs Only\n\n\n### N\n\n@docs N, Is, To, And\n\n\n## value / return type\n\n@docs ValueMin, ValueIn\n\n`ValueOnly` is useful for [`Arr`](https://package.elm-lang.org/packages/indique/elm-bounded-array/latest/)s,\nbut you will never need it in combination with `Nat`s.\n\n@docs ValueOnly\n\n","unions":[],"aliases":[{"name":"And","comment":" `And a To b`: an exact value as the diffference `b - a`.\n\n    N Nat5\n        (Is myAge To)\n        sistersAge\n        (And mothersAge To fathersAge)\n\n  - `myAge + 5 = sistersAge`\n  - `mothersAge + 5 = fathersAge`\n\n","args":["a","to","b"],"type":"N.And a to b"},{"name":"In","comment":" `In minimum maximum maybeN`: Somewhere within a minimum & maximum.\n\n       ↓ minimum   ↓ maximum\n    ⨯ [✓ ✓ ✓ ✓ ✓ ✓ ✓] ⨯ ⨯ ⨯...\n\nNote: maximum >= minimum for every existing `Nat (In min max ...)`:\n\n    percent : Nat (In min Nat100 maybeN) -> Percent\n\n→ `min <= Nat100`\n\nIf you want a number where you just care about the minimum, leave the `max` as a type _variable_.\n\n       ↓ minimum    ↓ maximum or  →\n    ⨯ [✓ ✓ ✓ ✓ ✓ ✓ ✓...\n\nAny natural number:\n\n    Nat (In min max maybeN)\n\nA number, at least 5:\n\n    Nat (In (Nat5Plus minMinus5) max maybeN)\n\n  - `max` could be a maximum value if there is one\n\n  - `maybeN` could contain extra information for `N ...` if the number was exact\n\n","args":["minimum","maximum","maybeN"],"type":"N.In minimum maximum maybeN"},{"name":"Is","comment":" An exact value as a diffference.\n\n    N Nat5\n        (Is myAge To)\n        sistersAge\n        (And mothersAge To fathersAge)\n\n  - `myAge + 5 = sistersAge`\n  - `mothersAge + 5 = fathersAge`\n\n","args":["a","to"],"type":"N.Is a to"},{"name":"N","comment":" The most detailed description of a number at compile-time.\n\nEvery `N n atLeastN ...` is of type `In n atLeastN`.\n\nLooking at the types\n\n    nat0 :\n        Nat\n            (N\n                -- 0 is the exact value at compile time\n                Nat0\n                -- 0 as a difference is a - a & b - b\n                (Is a To)\n                a\n                (And b To b)\n            )\n\nAn example is [`InNat.addN`](InNat#addN)\n\n    addN :\n        Nat (N added (Is min To) sumMin (And max To sumMax))\n        -> Nat (In min max)\n        -> Nat (In sumMin sumMax)\n\nYou can just ignore the second difference if you don't need it ([`MinNat.addN`](MinNat#addN)).\n\n    addN :\n        Nat (N added (Is min To) sumMin x)\n        -> Nat (Min min)\n        -> Nat (Min sumMin)\n\n","args":["n","isATo","nPlusA","asAnotherDifference"],"type":"Nat.Bound.In n nPlusA ( isATo, asAnotherDifference )"},{"name":"Only","comment":" Just the exact number.\n\nOnly useful as a function **argument** type.\n\nEvery `In NatXYZ (NatXYZPlus a) maybeN` is a `Only NatXYZ maybeN`.\n\n    byte : Arr (Only maybeN Nat8) Bit -> Byte\n\n→ A given [`Arr`](https://package.elm-lang.org/packages/indique/elm-bounded-array/latest/) must have _exact 8_ `Bit`s.\n\n`Only` is useful for [`Arr`](https://package.elm-lang.org/packages/indique/elm-bounded-array/latest/)s,\nbut you will never need it in combination with `Nat`s.\n\n","args":["n","maybeN"],"type":"Nat.Bound.In n n maybeN"},{"name":"To","comment":" No special meaning.\n\n    Is a To b\n\n→ distance `b - a`.\n\n","args":[],"type":"N.To"},{"name":"ValueIn","comment":" `ValueIn minimum maximum`: A value somewhere within a minimum & maximum. We don't know the exact value, though.\n\n       ↓ minimum   ↓ maximum\n    ⨯ [✓ ✓ ✓ ✓ ✓ ✓ ✓] ⨯ ⨯ ⨯...\n\nTo be used as a return type, **not** as a function argument.\n\nA number between 3 and 5\n\n    Nat (ValueIn Nat3 (Nat5Plus a))\n\nA number, at least 5:\n\n    Nat (ValueIn Nat5 (Nat5Plus a))\n\n","args":["minimum","maximum"],"type":"Nat.Bound.In minimum maximum Nat.Bound.NoN"},{"name":"ValueMin","comment":" Only **value / return types should be `Min`**.\n\nSometimes, you simply cannot compute a maximum.\n\n    abs : Int -> Nat (ValueIn Nat0 ??)\n\nThis is where to use `Min`.\n\n    abs : Int -> Nat (Min Nat0)\n\nEvery `Min min` is of type `In min ...`.\n\n","args":["minimum"],"type":"Nat.Bound.ValueIn minimum Nat.Bound.Infinity"},{"name":"ValueOnly","comment":" Just the exact number.\n\nOnly useful as a **value & return** type.\n\n    repeatOnly :\n        Nat (Only n maybeN)\n        -> element\n        -> Arr (ValueOnly n) element\n\n→ A given [`Arr`](https://package.elm-lang.org/packages/indique/elm-bounded-array/latest/) must has _exactly `n`_ `element`s.\n\n`Only` is useful for [`Arr`](https://package.elm-lang.org/packages/indique/elm-bounded-array/latest/)s,\nbut you will never need it in combination with `Nat`s.\n\n","args":["n"],"type":"Nat.Bound.ValueIn n n"}],"values":[],"binops":[]},{"name":"TypeNats","comment":" Express exact natural numbers in a type.\n\n\n    onlyExact1 : Nat (Only Nat1 maybeN) -> Cake\n- `takesOnlyExact1 nat10` is a compile-time error\n\n\n    add2 : Nat (Only n maybeN) -> Nat (ValueOnly (Nat2Plus n))\n- `add2 nat2` is of type `Nat (ValueOnly Nat4)`\n\n\n### about a big limitation\n\n\nSadly, while experimenting with type aliases, I discovered that type aliases can only expand so much.\n\n\n    compilingGetsKilled : Nat (N (Nat100Plus Nat93) x y)\nIf a type alias is not fully expanded after ~192 tries,\n\n\n- the compilation stops\n\n\n- the elm-stuff can corrupt\n\n\n## at least\n\n\n@docs Nat100Plus, Nat101Plus, Nat102Plus, Nat103Plus, Nat104Plus, Nat105Plus\n@docs Nat106Plus, Nat107Plus, Nat108Plus, Nat109Plus, Nat10Plus, Nat110Plus\n@docs Nat111Plus, Nat112Plus, Nat113Plus, Nat114Plus, Nat115Plus, Nat116Plus\n@docs Nat117Plus, Nat118Plus, Nat119Plus, Nat11Plus, Nat120Plus, Nat121Plus\n@docs Nat122Plus, Nat123Plus, Nat124Plus, Nat125Plus, Nat126Plus, Nat127Plus\n@docs Nat128Plus, Nat129Plus, Nat12Plus, Nat130Plus, Nat131Plus, Nat132Plus\n@docs Nat133Plus, Nat134Plus, Nat135Plus, Nat136Plus, Nat137Plus, Nat138Plus\n@docs Nat139Plus, Nat13Plus, Nat140Plus, Nat141Plus, Nat142Plus, Nat143Plus\n@docs Nat144Plus, Nat145Plus, Nat146Plus, Nat147Plus, Nat148Plus, Nat149Plus\n@docs Nat14Plus, Nat150Plus, Nat151Plus, Nat152Plus, Nat153Plus, Nat154Plus\n@docs Nat155Plus, Nat156Plus, Nat157Plus, Nat158Plus, Nat159Plus, Nat15Plus\n@docs Nat160Plus, Nat161Plus, Nat162Plus, Nat163Plus, Nat164Plus, Nat165Plus\n@docs Nat166Plus, Nat167Plus, Nat168Plus, Nat169Plus, Nat16Plus, Nat170Plus\n@docs Nat171Plus, Nat172Plus, Nat173Plus, Nat174Plus, Nat175Plus, Nat176Plus\n@docs Nat177Plus, Nat178Plus, Nat179Plus, Nat17Plus, Nat180Plus, Nat181Plus\n@docs Nat182Plus, Nat183Plus, Nat184Plus, Nat185Plus, Nat186Plus, Nat187Plus\n@docs Nat188Plus, Nat189Plus, Nat18Plus, Nat190Plus, Nat191Plus, Nat192Plus\n@docs Nat19Plus, Nat1Plus, Nat20Plus, Nat21Plus, Nat22Plus, Nat23Plus, Nat24Plus\n@docs Nat25Plus, Nat26Plus, Nat27Plus, Nat28Plus, Nat29Plus, Nat2Plus, Nat30Plus\n@docs Nat31Plus, Nat32Plus, Nat33Plus, Nat34Plus, Nat35Plus, Nat36Plus, Nat37Plus\n@docs Nat38Plus, Nat39Plus, Nat3Plus, Nat40Plus, Nat41Plus, Nat42Plus, Nat43Plus\n@docs Nat44Plus, Nat45Plus, Nat46Plus, Nat47Plus, Nat48Plus, Nat49Plus, Nat4Plus\n@docs Nat50Plus, Nat51Plus, Nat52Plus, Nat53Plus, Nat54Plus, Nat55Plus, Nat56Plus\n@docs Nat57Plus, Nat58Plus, Nat59Plus, Nat5Plus, Nat60Plus, Nat61Plus, Nat62Plus\n@docs Nat63Plus, Nat64Plus, Nat65Plus, Nat66Plus, Nat67Plus, Nat68Plus, Nat69Plus\n@docs Nat6Plus, Nat70Plus, Nat71Plus, Nat72Plus, Nat73Plus, Nat74Plus, Nat75Plus\n@docs Nat76Plus, Nat77Plus, Nat78Plus, Nat79Plus, Nat7Plus, Nat80Plus, Nat81Plus\n@docs Nat82Plus, Nat83Plus, Nat84Plus, Nat85Plus, Nat86Plus, Nat87Plus, Nat88Plus\n@docs Nat89Plus, Nat8Plus, Nat90Plus, Nat91Plus, Nat92Plus, Nat93Plus, Nat94Plus\n@docs Nat95Plus, Nat96Plus, Nat97Plus, Nat98Plus, Nat99Plus, Nat9Plus\n## exact\n\n\n@docs Nat0, Nat1, Nat10, Nat100, Nat101, Nat102, Nat103, Nat104, Nat105, Nat106, Nat107\n@docs Nat108, Nat109, Nat11, Nat110, Nat111, Nat112, Nat113, Nat114, Nat115, Nat116\n@docs Nat117, Nat118, Nat119, Nat12, Nat120, Nat121, Nat122, Nat123, Nat124, Nat125\n@docs Nat126, Nat127, Nat128, Nat129, Nat13, Nat130, Nat131, Nat132, Nat133, Nat134\n@docs Nat135, Nat136, Nat137, Nat138, Nat139, Nat14, Nat140, Nat141, Nat142, Nat143\n@docs Nat144, Nat145, Nat146, Nat147, Nat148, Nat149, Nat15, Nat150, Nat151, Nat152\n@docs Nat153, Nat154, Nat155, Nat156, Nat157, Nat158, Nat159, Nat16, Nat160, Nat161\n@docs Nat162, Nat163, Nat164, Nat165, Nat166, Nat167, Nat168, Nat169, Nat17, Nat170\n@docs Nat171, Nat172, Nat173, Nat174, Nat175, Nat176, Nat177, Nat178, Nat179, Nat18\n@docs Nat180, Nat181, Nat182, Nat183, Nat184, Nat185, Nat186, Nat187, Nat188, Nat189\n@docs Nat19, Nat190, Nat191, Nat192, Nat2, Nat20, Nat21, Nat22, Nat23, Nat24, Nat25, Nat26\n@docs Nat27, Nat28, Nat29, Nat3, Nat30, Nat31, Nat32, Nat33, Nat34, Nat35, Nat36, Nat37, Nat38\n@docs Nat39, Nat4, Nat40, Nat41, Nat42, Nat43, Nat44, Nat45, Nat46, Nat47, Nat48, Nat49, Nat5\n@docs Nat50, Nat51, Nat52, Nat53, Nat54, Nat55, Nat56, Nat57, Nat58, Nat59, Nat6, Nat60, Nat61\n@docs Nat62, Nat63, Nat64, Nat65, Nat66, Nat67, Nat68, Nat69, Nat7, Nat70, Nat71, Nat72, Nat73\n@docs Nat74, Nat75, Nat76, Nat77, Nat78, Nat79, Nat8, Nat80, Nat81, Nat82, Nat83, Nat84, Nat85\n@docs Nat86, Nat87, Nat88, Nat89, Nat9, Nat90, Nat91, Nat92, Nat93, Nat94, Nat95, Nat96, Nat97\n@docs Nat98, Nat99\n","unions":[],"aliases":[{"name":"Nat0","comment":" Exact the natural number 0.\n\n\n","args":[],"type":"N.Z"},{"name":"Nat1","comment":" Exact the natural number 1.\n\n\n","args":[],"type":"TypeNats.Nat1Plus N.Z"},{"name":"Nat10","comment":" Exact the natural number 10.\n\n\n","args":[],"type":"TypeNats.Nat10Plus N.Z"},{"name":"Nat100","comment":" Exact the natural number 100.\n\n\n","args":[],"type":"TypeNats.Nat100Plus N.Z"},{"name":"Nat100Plus","comment":" 100 + some n, which is at least 100.\n\n\n","args":["n"],"type":"TypeNats.Nat99Plus (N.S n)"},{"name":"Nat101","comment":" Exact the natural number 101.\n\n\n","args":[],"type":"TypeNats.Nat101Plus N.Z"},{"name":"Nat101Plus","comment":" 101 + some n, which is at least 101.\n\n\n","args":["n"],"type":"TypeNats.Nat100Plus (N.S n)"},{"name":"Nat102","comment":" Exact the natural number 102.\n\n\n","args":[],"type":"TypeNats.Nat102Plus N.Z"},{"name":"Nat102Plus","comment":" 102 + some n, which is at least 102.\n\n\n","args":["n"],"type":"TypeNats.Nat101Plus (N.S n)"},{"name":"Nat103","comment":" Exact the natural number 103.\n\n\n","args":[],"type":"TypeNats.Nat103Plus N.Z"},{"name":"Nat103Plus","comment":" 103 + some n, which is at least 103.\n\n\n","args":["n"],"type":"TypeNats.Nat102Plus (N.S n)"},{"name":"Nat104","comment":" Exact the natural number 104.\n\n\n","args":[],"type":"TypeNats.Nat104Plus N.Z"},{"name":"Nat104Plus","comment":" 104 + some n, which is at least 104.\n\n\n","args":["n"],"type":"TypeNats.Nat103Plus (N.S n)"},{"name":"Nat105","comment":" Exact the natural number 105.\n\n\n","args":[],"type":"TypeNats.Nat105Plus N.Z"},{"name":"Nat105Plus","comment":" 105 + some n, which is at least 105.\n\n\n","args":["n"],"type":"TypeNats.Nat104Plus (N.S n)"},{"name":"Nat106","comment":" Exact the natural number 106.\n\n\n","args":[],"type":"TypeNats.Nat106Plus N.Z"},{"name":"Nat106Plus","comment":" 106 + some n, which is at least 106.\n\n\n","args":["n"],"type":"TypeNats.Nat105Plus (N.S n)"},{"name":"Nat107","comment":" Exact the natural number 107.\n\n\n","args":[],"type":"TypeNats.Nat107Plus N.Z"},{"name":"Nat107Plus","comment":" 107 + some n, which is at least 107.\n\n\n","args":["n"],"type":"TypeNats.Nat106Plus (N.S n)"},{"name":"Nat108","comment":" Exact the natural number 108.\n\n\n","args":[],"type":"TypeNats.Nat108Plus N.Z"},{"name":"Nat108Plus","comment":" 108 + some n, which is at least 108.\n\n\n","args":["n"],"type":"TypeNats.Nat107Plus (N.S n)"},{"name":"Nat109","comment":" Exact the natural number 109.\n\n\n","args":[],"type":"TypeNats.Nat109Plus N.Z"},{"name":"Nat109Plus","comment":" 109 + some n, which is at least 109.\n\n\n","args":["n"],"type":"TypeNats.Nat108Plus (N.S n)"},{"name":"Nat10Plus","comment":" 10 + some n, which is at least 10.\n\n\n","args":["n"],"type":"TypeNats.Nat9Plus (N.S n)"},{"name":"Nat11","comment":" Exact the natural number 11.\n\n\n","args":[],"type":"TypeNats.Nat11Plus N.Z"},{"name":"Nat110","comment":" Exact the natural number 110.\n\n\n","args":[],"type":"TypeNats.Nat110Plus N.Z"},{"name":"Nat110Plus","comment":" 110 + some n, which is at least 110.\n\n\n","args":["n"],"type":"TypeNats.Nat109Plus (N.S n)"},{"name":"Nat111","comment":" Exact the natural number 111.\n\n\n","args":[],"type":"TypeNats.Nat111Plus N.Z"},{"name":"Nat111Plus","comment":" 111 + some n, which is at least 111.\n\n\n","args":["n"],"type":"TypeNats.Nat110Plus (N.S n)"},{"name":"Nat112","comment":" Exact the natural number 112.\n\n\n","args":[],"type":"TypeNats.Nat112Plus N.Z"},{"name":"Nat112Plus","comment":" 112 + some n, which is at least 112.\n\n\n","args":["n"],"type":"TypeNats.Nat111Plus (N.S n)"},{"name":"Nat113","comment":" Exact the natural number 113.\n\n\n","args":[],"type":"TypeNats.Nat113Plus N.Z"},{"name":"Nat113Plus","comment":" 113 + some n, which is at least 113.\n\n\n","args":["n"],"type":"TypeNats.Nat112Plus (N.S n)"},{"name":"Nat114","comment":" Exact the natural number 114.\n\n\n","args":[],"type":"TypeNats.Nat114Plus N.Z"},{"name":"Nat114Plus","comment":" 114 + some n, which is at least 114.\n\n\n","args":["n"],"type":"TypeNats.Nat113Plus (N.S n)"},{"name":"Nat115","comment":" Exact the natural number 115.\n\n\n","args":[],"type":"TypeNats.Nat115Plus N.Z"},{"name":"Nat115Plus","comment":" 115 + some n, which is at least 115.\n\n\n","args":["n"],"type":"TypeNats.Nat114Plus (N.S n)"},{"name":"Nat116","comment":" Exact the natural number 116.\n\n\n","args":[],"type":"TypeNats.Nat116Plus N.Z"},{"name":"Nat116Plus","comment":" 116 + some n, which is at least 116.\n\n\n","args":["n"],"type":"TypeNats.Nat115Plus (N.S n)"},{"name":"Nat117","comment":" Exact the natural number 117.\n\n\n","args":[],"type":"TypeNats.Nat117Plus N.Z"},{"name":"Nat117Plus","comment":" 117 + some n, which is at least 117.\n\n\n","args":["n"],"type":"TypeNats.Nat116Plus (N.S n)"},{"name":"Nat118","comment":" Exact the natural number 118.\n\n\n","args":[],"type":"TypeNats.Nat118Plus N.Z"},{"name":"Nat118Plus","comment":" 118 + some n, which is at least 118.\n\n\n","args":["n"],"type":"TypeNats.Nat117Plus (N.S n)"},{"name":"Nat119","comment":" Exact the natural number 119.\n\n\n","args":[],"type":"TypeNats.Nat119Plus N.Z"},{"name":"Nat119Plus","comment":" 119 + some n, which is at least 119.\n\n\n","args":["n"],"type":"TypeNats.Nat118Plus (N.S n)"},{"name":"Nat11Plus","comment":" 11 + some n, which is at least 11.\n\n\n","args":["n"],"type":"TypeNats.Nat10Plus (N.S n)"},{"name":"Nat12","comment":" Exact the natural number 12.\n\n\n","args":[],"type":"TypeNats.Nat12Plus N.Z"},{"name":"Nat120","comment":" Exact the natural number 120.\n\n\n","args":[],"type":"TypeNats.Nat120Plus N.Z"},{"name":"Nat120Plus","comment":" 120 + some n, which is at least 120.\n\n\n","args":["n"],"type":"TypeNats.Nat119Plus (N.S n)"},{"name":"Nat121","comment":" Exact the natural number 121.\n\n\n","args":[],"type":"TypeNats.Nat121Plus N.Z"},{"name":"Nat121Plus","comment":" 121 + some n, which is at least 121.\n\n\n","args":["n"],"type":"TypeNats.Nat120Plus (N.S n)"},{"name":"Nat122","comment":" Exact the natural number 122.\n\n\n","args":[],"type":"TypeNats.Nat122Plus N.Z"},{"name":"Nat122Plus","comment":" 122 + some n, which is at least 122.\n\n\n","args":["n"],"type":"TypeNats.Nat121Plus (N.S n)"},{"name":"Nat123","comment":" Exact the natural number 123.\n\n\n","args":[],"type":"TypeNats.Nat123Plus N.Z"},{"name":"Nat123Plus","comment":" 123 + some n, which is at least 123.\n\n\n","args":["n"],"type":"TypeNats.Nat122Plus (N.S n)"},{"name":"Nat124","comment":" Exact the natural number 124.\n\n\n","args":[],"type":"TypeNats.Nat124Plus N.Z"},{"name":"Nat124Plus","comment":" 124 + some n, which is at least 124.\n\n\n","args":["n"],"type":"TypeNats.Nat123Plus (N.S n)"},{"name":"Nat125","comment":" Exact the natural number 125.\n\n\n","args":[],"type":"TypeNats.Nat125Plus N.Z"},{"name":"Nat125Plus","comment":" 125 + some n, which is at least 125.\n\n\n","args":["n"],"type":"TypeNats.Nat124Plus (N.S n)"},{"name":"Nat126","comment":" Exact the natural number 126.\n\n\n","args":[],"type":"TypeNats.Nat126Plus N.Z"},{"name":"Nat126Plus","comment":" 126 + some n, which is at least 126.\n\n\n","args":["n"],"type":"TypeNats.Nat125Plus (N.S n)"},{"name":"Nat127","comment":" Exact the natural number 127.\n\n\n","args":[],"type":"TypeNats.Nat127Plus N.Z"},{"name":"Nat127Plus","comment":" 127 + some n, which is at least 127.\n\n\n","args":["n"],"type":"TypeNats.Nat126Plus (N.S n)"},{"name":"Nat128","comment":" Exact the natural number 128.\n\n\n","args":[],"type":"TypeNats.Nat128Plus N.Z"},{"name":"Nat128Plus","comment":" 128 + some n, which is at least 128.\n\n\n","args":["n"],"type":"TypeNats.Nat127Plus (N.S n)"},{"name":"Nat129","comment":" Exact the natural number 129.\n\n\n","args":[],"type":"TypeNats.Nat129Plus N.Z"},{"name":"Nat129Plus","comment":" 129 + some n, which is at least 129.\n\n\n","args":["n"],"type":"TypeNats.Nat128Plus (N.S n)"},{"name":"Nat12Plus","comment":" 12 + some n, which is at least 12.\n\n\n","args":["n"],"type":"TypeNats.Nat11Plus (N.S n)"},{"name":"Nat13","comment":" Exact the natural number 13.\n\n\n","args":[],"type":"TypeNats.Nat13Plus N.Z"},{"name":"Nat130","comment":" Exact the natural number 130.\n\n\n","args":[],"type":"TypeNats.Nat130Plus N.Z"},{"name":"Nat130Plus","comment":" 130 + some n, which is at least 130.\n\n\n","args":["n"],"type":"TypeNats.Nat129Plus (N.S n)"},{"name":"Nat131","comment":" Exact the natural number 131.\n\n\n","args":[],"type":"TypeNats.Nat131Plus N.Z"},{"name":"Nat131Plus","comment":" 131 + some n, which is at least 131.\n\n\n","args":["n"],"type":"TypeNats.Nat130Plus (N.S n)"},{"name":"Nat132","comment":" Exact the natural number 132.\n\n\n","args":[],"type":"TypeNats.Nat132Plus N.Z"},{"name":"Nat132Plus","comment":" 132 + some n, which is at least 132.\n\n\n","args":["n"],"type":"TypeNats.Nat131Plus (N.S n)"},{"name":"Nat133","comment":" Exact the natural number 133.\n\n\n","args":[],"type":"TypeNats.Nat133Plus N.Z"},{"name":"Nat133Plus","comment":" 133 + some n, which is at least 133.\n\n\n","args":["n"],"type":"TypeNats.Nat132Plus (N.S n)"},{"name":"Nat134","comment":" Exact the natural number 134.\n\n\n","args":[],"type":"TypeNats.Nat134Plus N.Z"},{"name":"Nat134Plus","comment":" 134 + some n, which is at least 134.\n\n\n","args":["n"],"type":"TypeNats.Nat133Plus (N.S n)"},{"name":"Nat135","comment":" Exact the natural number 135.\n\n\n","args":[],"type":"TypeNats.Nat135Plus N.Z"},{"name":"Nat135Plus","comment":" 135 + some n, which is at least 135.\n\n\n","args":["n"],"type":"TypeNats.Nat134Plus (N.S n)"},{"name":"Nat136","comment":" Exact the natural number 136.\n\n\n","args":[],"type":"TypeNats.Nat136Plus N.Z"},{"name":"Nat136Plus","comment":" 136 + some n, which is at least 136.\n\n\n","args":["n"],"type":"TypeNats.Nat135Plus (N.S n)"},{"name":"Nat137","comment":" Exact the natural number 137.\n\n\n","args":[],"type":"TypeNats.Nat137Plus N.Z"},{"name":"Nat137Plus","comment":" 137 + some n, which is at least 137.\n\n\n","args":["n"],"type":"TypeNats.Nat136Plus (N.S n)"},{"name":"Nat138","comment":" Exact the natural number 138.\n\n\n","args":[],"type":"TypeNats.Nat138Plus N.Z"},{"name":"Nat138Plus","comment":" 138 + some n, which is at least 138.\n\n\n","args":["n"],"type":"TypeNats.Nat137Plus (N.S n)"},{"name":"Nat139","comment":" Exact the natural number 139.\n\n\n","args":[],"type":"TypeNats.Nat139Plus N.Z"},{"name":"Nat139Plus","comment":" 139 + some n, which is at least 139.\n\n\n","args":["n"],"type":"TypeNats.Nat138Plus (N.S n)"},{"name":"Nat13Plus","comment":" 13 + some n, which is at least 13.\n\n\n","args":["n"],"type":"TypeNats.Nat12Plus (N.S n)"},{"name":"Nat14","comment":" Exact the natural number 14.\n\n\n","args":[],"type":"TypeNats.Nat14Plus N.Z"},{"name":"Nat140","comment":" Exact the natural number 140.\n\n\n","args":[],"type":"TypeNats.Nat140Plus N.Z"},{"name":"Nat140Plus","comment":" 140 + some n, which is at least 140.\n\n\n","args":["n"],"type":"TypeNats.Nat139Plus (N.S n)"},{"name":"Nat141","comment":" Exact the natural number 141.\n\n\n","args":[],"type":"TypeNats.Nat141Plus N.Z"},{"name":"Nat141Plus","comment":" 141 + some n, which is at least 141.\n\n\n","args":["n"],"type":"TypeNats.Nat140Plus (N.S n)"},{"name":"Nat142","comment":" Exact the natural number 142.\n\n\n","args":[],"type":"TypeNats.Nat142Plus N.Z"},{"name":"Nat142Plus","comment":" 142 + some n, which is at least 142.\n\n\n","args":["n"],"type":"TypeNats.Nat141Plus (N.S n)"},{"name":"Nat143","comment":" Exact the natural number 143.\n\n\n","args":[],"type":"TypeNats.Nat143Plus N.Z"},{"name":"Nat143Plus","comment":" 143 + some n, which is at least 143.\n\n\n","args":["n"],"type":"TypeNats.Nat142Plus (N.S n)"},{"name":"Nat144","comment":" Exact the natural number 144.\n\n\n","args":[],"type":"TypeNats.Nat144Plus N.Z"},{"name":"Nat144Plus","comment":" 144 + some n, which is at least 144.\n\n\n","args":["n"],"type":"TypeNats.Nat143Plus (N.S n)"},{"name":"Nat145","comment":" Exact the natural number 145.\n\n\n","args":[],"type":"TypeNats.Nat145Plus N.Z"},{"name":"Nat145Plus","comment":" 145 + some n, which is at least 145.\n\n\n","args":["n"],"type":"TypeNats.Nat144Plus (N.S n)"},{"name":"Nat146","comment":" Exact the natural number 146.\n\n\n","args":[],"type":"TypeNats.Nat146Plus N.Z"},{"name":"Nat146Plus","comment":" 146 + some n, which is at least 146.\n\n\n","args":["n"],"type":"TypeNats.Nat145Plus (N.S n)"},{"name":"Nat147","comment":" Exact the natural number 147.\n\n\n","args":[],"type":"TypeNats.Nat147Plus N.Z"},{"name":"Nat147Plus","comment":" 147 + some n, which is at least 147.\n\n\n","args":["n"],"type":"TypeNats.Nat146Plus (N.S n)"},{"name":"Nat148","comment":" Exact the natural number 148.\n\n\n","args":[],"type":"TypeNats.Nat148Plus N.Z"},{"name":"Nat148Plus","comment":" 148 + some n, which is at least 148.\n\n\n","args":["n"],"type":"TypeNats.Nat147Plus (N.S n)"},{"name":"Nat149","comment":" Exact the natural number 149.\n\n\n","args":[],"type":"TypeNats.Nat149Plus N.Z"},{"name":"Nat149Plus","comment":" 149 + some n, which is at least 149.\n\n\n","args":["n"],"type":"TypeNats.Nat148Plus (N.S n)"},{"name":"Nat14Plus","comment":" 14 + some n, which is at least 14.\n\n\n","args":["n"],"type":"TypeNats.Nat13Plus (N.S n)"},{"name":"Nat15","comment":" Exact the natural number 15.\n\n\n","args":[],"type":"TypeNats.Nat15Plus N.Z"},{"name":"Nat150","comment":" Exact the natural number 150.\n\n\n","args":[],"type":"TypeNats.Nat150Plus N.Z"},{"name":"Nat150Plus","comment":" 150 + some n, which is at least 150.\n\n\n","args":["n"],"type":"TypeNats.Nat149Plus (N.S n)"},{"name":"Nat151","comment":" Exact the natural number 151.\n\n\n","args":[],"type":"TypeNats.Nat151Plus N.Z"},{"name":"Nat151Plus","comment":" 151 + some n, which is at least 151.\n\n\n","args":["n"],"type":"TypeNats.Nat150Plus (N.S n)"},{"name":"Nat152","comment":" Exact the natural number 152.\n\n\n","args":[],"type":"TypeNats.Nat152Plus N.Z"},{"name":"Nat152Plus","comment":" 152 + some n, which is at least 152.\n\n\n","args":["n"],"type":"TypeNats.Nat151Plus (N.S n)"},{"name":"Nat153","comment":" Exact the natural number 153.\n\n\n","args":[],"type":"TypeNats.Nat153Plus N.Z"},{"name":"Nat153Plus","comment":" 153 + some n, which is at least 153.\n\n\n","args":["n"],"type":"TypeNats.Nat152Plus (N.S n)"},{"name":"Nat154","comment":" Exact the natural number 154.\n\n\n","args":[],"type":"TypeNats.Nat154Plus N.Z"},{"name":"Nat154Plus","comment":" 154 + some n, which is at least 154.\n\n\n","args":["n"],"type":"TypeNats.Nat153Plus (N.S n)"},{"name":"Nat155","comment":" Exact the natural number 155.\n\n\n","args":[],"type":"TypeNats.Nat155Plus N.Z"},{"name":"Nat155Plus","comment":" 155 + some n, which is at least 155.\n\n\n","args":["n"],"type":"TypeNats.Nat154Plus (N.S n)"},{"name":"Nat156","comment":" Exact the natural number 156.\n\n\n","args":[],"type":"TypeNats.Nat156Plus N.Z"},{"name":"Nat156Plus","comment":" 156 + some n, which is at least 156.\n\n\n","args":["n"],"type":"TypeNats.Nat155Plus (N.S n)"},{"name":"Nat157","comment":" Exact the natural number 157.\n\n\n","args":[],"type":"TypeNats.Nat157Plus N.Z"},{"name":"Nat157Plus","comment":" 157 + some n, which is at least 157.\n\n\n","args":["n"],"type":"TypeNats.Nat156Plus (N.S n)"},{"name":"Nat158","comment":" Exact the natural number 158.\n\n\n","args":[],"type":"TypeNats.Nat158Plus N.Z"},{"name":"Nat158Plus","comment":" 158 + some n, which is at least 158.\n\n\n","args":["n"],"type":"TypeNats.Nat157Plus (N.S n)"},{"name":"Nat159","comment":" Exact the natural number 159.\n\n\n","args":[],"type":"TypeNats.Nat159Plus N.Z"},{"name":"Nat159Plus","comment":" 159 + some n, which is at least 159.\n\n\n","args":["n"],"type":"TypeNats.Nat158Plus (N.S n)"},{"name":"Nat15Plus","comment":" 15 + some n, which is at least 15.\n\n\n","args":["n"],"type":"TypeNats.Nat14Plus (N.S n)"},{"name":"Nat16","comment":" Exact the natural number 16.\n\n\n","args":[],"type":"TypeNats.Nat16Plus N.Z"},{"name":"Nat160","comment":" Exact the natural number 160.\n\n\n","args":[],"type":"TypeNats.Nat160Plus N.Z"},{"name":"Nat160Plus","comment":" 160 + some n, which is at least 160.\n\n\n","args":["n"],"type":"TypeNats.Nat159Plus (N.S n)"},{"name":"Nat161","comment":" Exact the natural number 161.\n\n\n","args":[],"type":"TypeNats.Nat161Plus N.Z"},{"name":"Nat161Plus","comment":" 161 + some n, which is at least 161.\n\n\n","args":["n"],"type":"TypeNats.Nat160Plus (N.S n)"},{"name":"Nat162","comment":" Exact the natural number 162.\n\n\n","args":[],"type":"TypeNats.Nat162Plus N.Z"},{"name":"Nat162Plus","comment":" 162 + some n, which is at least 162.\n\n\n","args":["n"],"type":"TypeNats.Nat161Plus (N.S n)"},{"name":"Nat163","comment":" Exact the natural number 163.\n\n\n","args":[],"type":"TypeNats.Nat163Plus N.Z"},{"name":"Nat163Plus","comment":" 163 + some n, which is at least 163.\n\n\n","args":["n"],"type":"TypeNats.Nat162Plus (N.S n)"},{"name":"Nat164","comment":" Exact the natural number 164.\n\n\n","args":[],"type":"TypeNats.Nat164Plus N.Z"},{"name":"Nat164Plus","comment":" 164 + some n, which is at least 164.\n\n\n","args":["n"],"type":"TypeNats.Nat163Plus (N.S n)"},{"name":"Nat165","comment":" Exact the natural number 165.\n\n\n","args":[],"type":"TypeNats.Nat165Plus N.Z"},{"name":"Nat165Plus","comment":" 165 + some n, which is at least 165.\n\n\n","args":["n"],"type":"TypeNats.Nat164Plus (N.S n)"},{"name":"Nat166","comment":" Exact the natural number 166.\n\n\n","args":[],"type":"TypeNats.Nat166Plus N.Z"},{"name":"Nat166Plus","comment":" 166 + some n, which is at least 166.\n\n\n","args":["n"],"type":"TypeNats.Nat165Plus (N.S n)"},{"name":"Nat167","comment":" Exact the natural number 167.\n\n\n","args":[],"type":"TypeNats.Nat167Plus N.Z"},{"name":"Nat167Plus","comment":" 167 + some n, which is at least 167.\n\n\n","args":["n"],"type":"TypeNats.Nat166Plus (N.S n)"},{"name":"Nat168","comment":" Exact the natural number 168.\n\n\n","args":[],"type":"TypeNats.Nat168Plus N.Z"},{"name":"Nat168Plus","comment":" 168 + some n, which is at least 168.\n\n\n","args":["n"],"type":"TypeNats.Nat167Plus (N.S n)"},{"name":"Nat169","comment":" Exact the natural number 169.\n\n\n","args":[],"type":"TypeNats.Nat169Plus N.Z"},{"name":"Nat169Plus","comment":" 169 + some n, which is at least 169.\n\n\n","args":["n"],"type":"TypeNats.Nat168Plus (N.S n)"},{"name":"Nat16Plus","comment":" 16 + some n, which is at least 16.\n\n\n","args":["n"],"type":"TypeNats.Nat15Plus (N.S n)"},{"name":"Nat17","comment":" Exact the natural number 17.\n\n\n","args":[],"type":"TypeNats.Nat17Plus N.Z"},{"name":"Nat170","comment":" Exact the natural number 170.\n\n\n","args":[],"type":"TypeNats.Nat170Plus N.Z"},{"name":"Nat170Plus","comment":" 170 + some n, which is at least 170.\n\n\n","args":["n"],"type":"TypeNats.Nat169Plus (N.S n)"},{"name":"Nat171","comment":" Exact the natural number 171.\n\n\n","args":[],"type":"TypeNats.Nat171Plus N.Z"},{"name":"Nat171Plus","comment":" 171 + some n, which is at least 171.\n\n\n","args":["n"],"type":"TypeNats.Nat170Plus (N.S n)"},{"name":"Nat172","comment":" Exact the natural number 172.\n\n\n","args":[],"type":"TypeNats.Nat172Plus N.Z"},{"name":"Nat172Plus","comment":" 172 + some n, which is at least 172.\n\n\n","args":["n"],"type":"TypeNats.Nat171Plus (N.S n)"},{"name":"Nat173","comment":" Exact the natural number 173.\n\n\n","args":[],"type":"TypeNats.Nat173Plus N.Z"},{"name":"Nat173Plus","comment":" 173 + some n, which is at least 173.\n\n\n","args":["n"],"type":"TypeNats.Nat172Plus (N.S n)"},{"name":"Nat174","comment":" Exact the natural number 174.\n\n\n","args":[],"type":"TypeNats.Nat174Plus N.Z"},{"name":"Nat174Plus","comment":" 174 + some n, which is at least 174.\n\n\n","args":["n"],"type":"TypeNats.Nat173Plus (N.S n)"},{"name":"Nat175","comment":" Exact the natural number 175.\n\n\n","args":[],"type":"TypeNats.Nat175Plus N.Z"},{"name":"Nat175Plus","comment":" 175 + some n, which is at least 175.\n\n\n","args":["n"],"type":"TypeNats.Nat174Plus (N.S n)"},{"name":"Nat176","comment":" Exact the natural number 176.\n\n\n","args":[],"type":"TypeNats.Nat176Plus N.Z"},{"name":"Nat176Plus","comment":" 176 + some n, which is at least 176.\n\n\n","args":["n"],"type":"TypeNats.Nat175Plus (N.S n)"},{"name":"Nat177","comment":" Exact the natural number 177.\n\n\n","args":[],"type":"TypeNats.Nat177Plus N.Z"},{"name":"Nat177Plus","comment":" 177 + some n, which is at least 177.\n\n\n","args":["n"],"type":"TypeNats.Nat176Plus (N.S n)"},{"name":"Nat178","comment":" Exact the natural number 178.\n\n\n","args":[],"type":"TypeNats.Nat178Plus N.Z"},{"name":"Nat178Plus","comment":" 178 + some n, which is at least 178.\n\n\n","args":["n"],"type":"TypeNats.Nat177Plus (N.S n)"},{"name":"Nat179","comment":" Exact the natural number 179.\n\n\n","args":[],"type":"TypeNats.Nat179Plus N.Z"},{"name":"Nat179Plus","comment":" 179 + some n, which is at least 179.\n\n\n","args":["n"],"type":"TypeNats.Nat178Plus (N.S n)"},{"name":"Nat17Plus","comment":" 17 + some n, which is at least 17.\n\n\n","args":["n"],"type":"TypeNats.Nat16Plus (N.S n)"},{"name":"Nat18","comment":" Exact the natural number 18.\n\n\n","args":[],"type":"TypeNats.Nat18Plus N.Z"},{"name":"Nat180","comment":" Exact the natural number 180.\n\n\n","args":[],"type":"TypeNats.Nat180Plus N.Z"},{"name":"Nat180Plus","comment":" 180 + some n, which is at least 180.\n\n\n","args":["n"],"type":"TypeNats.Nat179Plus (N.S n)"},{"name":"Nat181","comment":" Exact the natural number 181.\n\n\n","args":[],"type":"TypeNats.Nat181Plus N.Z"},{"name":"Nat181Plus","comment":" 181 + some n, which is at least 181.\n\n\n","args":["n"],"type":"TypeNats.Nat180Plus (N.S n)"},{"name":"Nat182","comment":" Exact the natural number 182.\n\n\n","args":[],"type":"TypeNats.Nat182Plus N.Z"},{"name":"Nat182Plus","comment":" 182 + some n, which is at least 182.\n\n\n","args":["n"],"type":"TypeNats.Nat181Plus (N.S n)"},{"name":"Nat183","comment":" Exact the natural number 183.\n\n\n","args":[],"type":"TypeNats.Nat183Plus N.Z"},{"name":"Nat183Plus","comment":" 183 + some n, which is at least 183.\n\n\n","args":["n"],"type":"TypeNats.Nat182Plus (N.S n)"},{"name":"Nat184","comment":" Exact the natural number 184.\n\n\n","args":[],"type":"TypeNats.Nat184Plus N.Z"},{"name":"Nat184Plus","comment":" 184 + some n, which is at least 184.\n\n\n","args":["n"],"type":"TypeNats.Nat183Plus (N.S n)"},{"name":"Nat185","comment":" Exact the natural number 185.\n\n\n","args":[],"type":"TypeNats.Nat185Plus N.Z"},{"name":"Nat185Plus","comment":" 185 + some n, which is at least 185.\n\n\n","args":["n"],"type":"TypeNats.Nat184Plus (N.S n)"},{"name":"Nat186","comment":" Exact the natural number 186.\n\n\n","args":[],"type":"TypeNats.Nat186Plus N.Z"},{"name":"Nat186Plus","comment":" 186 + some n, which is at least 186.\n\n\n","args":["n"],"type":"TypeNats.Nat185Plus (N.S n)"},{"name":"Nat187","comment":" Exact the natural number 187.\n\n\n","args":[],"type":"TypeNats.Nat187Plus N.Z"},{"name":"Nat187Plus","comment":" 187 + some n, which is at least 187.\n\n\n","args":["n"],"type":"TypeNats.Nat186Plus (N.S n)"},{"name":"Nat188","comment":" Exact the natural number 188.\n\n\n","args":[],"type":"TypeNats.Nat188Plus N.Z"},{"name":"Nat188Plus","comment":" 188 + some n, which is at least 188.\n\n\n","args":["n"],"type":"TypeNats.Nat187Plus (N.S n)"},{"name":"Nat189","comment":" Exact the natural number 189.\n\n\n","args":[],"type":"TypeNats.Nat189Plus N.Z"},{"name":"Nat189Plus","comment":" 189 + some n, which is at least 189.\n\n\n","args":["n"],"type":"TypeNats.Nat188Plus (N.S n)"},{"name":"Nat18Plus","comment":" 18 + some n, which is at least 18.\n\n\n","args":["n"],"type":"TypeNats.Nat17Plus (N.S n)"},{"name":"Nat19","comment":" Exact the natural number 19.\n\n\n","args":[],"type":"TypeNats.Nat19Plus N.Z"},{"name":"Nat190","comment":" Exact the natural number 190.\n\n\n","args":[],"type":"TypeNats.Nat190Plus N.Z"},{"name":"Nat190Plus","comment":" 190 + some n, which is at least 190.\n\n\n","args":["n"],"type":"TypeNats.Nat189Plus (N.S n)"},{"name":"Nat191","comment":" Exact the natural number 191.\n\n\n","args":[],"type":"TypeNats.Nat191Plus N.Z"},{"name":"Nat191Plus","comment":" 191 + some n, which is at least 191.\n\n\n","args":["n"],"type":"TypeNats.Nat190Plus (N.S n)"},{"name":"Nat192","comment":" Exact the natural number 192.\n\n\n","args":[],"type":"TypeNats.Nat192Plus N.Z"},{"name":"Nat192Plus","comment":" 192 + some n, which is at least 192.\n\n\n","args":["n"],"type":"TypeNats.Nat191Plus (N.S n)"},{"name":"Nat19Plus","comment":" 19 + some n, which is at least 19.\n\n\n","args":["n"],"type":"TypeNats.Nat18Plus (N.S n)"},{"name":"Nat1Plus","comment":" 1 + some n, which is at least 1.\n\n\n","args":["n"],"type":"N.S n"},{"name":"Nat2","comment":" Exact the natural number 2.\n\n\n","args":[],"type":"TypeNats.Nat2Plus N.Z"},{"name":"Nat20","comment":" Exact the natural number 20.\n\n\n","args":[],"type":"TypeNats.Nat20Plus N.Z"},{"name":"Nat20Plus","comment":" 20 + some n, which is at least 20.\n\n\n","args":["n"],"type":"TypeNats.Nat19Plus (N.S n)"},{"name":"Nat21","comment":" Exact the natural number 21.\n\n\n","args":[],"type":"TypeNats.Nat21Plus N.Z"},{"name":"Nat21Plus","comment":" 21 + some n, which is at least 21.\n\n\n","args":["n"],"type":"TypeNats.Nat20Plus (N.S n)"},{"name":"Nat22","comment":" Exact the natural number 22.\n\n\n","args":[],"type":"TypeNats.Nat22Plus N.Z"},{"name":"Nat22Plus","comment":" 22 + some n, which is at least 22.\n\n\n","args":["n"],"type":"TypeNats.Nat21Plus (N.S n)"},{"name":"Nat23","comment":" Exact the natural number 23.\n\n\n","args":[],"type":"TypeNats.Nat23Plus N.Z"},{"name":"Nat23Plus","comment":" 23 + some n, which is at least 23.\n\n\n","args":["n"],"type":"TypeNats.Nat22Plus (N.S n)"},{"name":"Nat24","comment":" Exact the natural number 24.\n\n\n","args":[],"type":"TypeNats.Nat24Plus N.Z"},{"name":"Nat24Plus","comment":" 24 + some n, which is at least 24.\n\n\n","args":["n"],"type":"TypeNats.Nat23Plus (N.S n)"},{"name":"Nat25","comment":" Exact the natural number 25.\n\n\n","args":[],"type":"TypeNats.Nat25Plus N.Z"},{"name":"Nat25Plus","comment":" 25 + some n, which is at least 25.\n\n\n","args":["n"],"type":"TypeNats.Nat24Plus (N.S n)"},{"name":"Nat26","comment":" Exact the natural number 26.\n\n\n","args":[],"type":"TypeNats.Nat26Plus N.Z"},{"name":"Nat26Plus","comment":" 26 + some n, which is at least 26.\n\n\n","args":["n"],"type":"TypeNats.Nat25Plus (N.S n)"},{"name":"Nat27","comment":" Exact the natural number 27.\n\n\n","args":[],"type":"TypeNats.Nat27Plus N.Z"},{"name":"Nat27Plus","comment":" 27 + some n, which is at least 27.\n\n\n","args":["n"],"type":"TypeNats.Nat26Plus (N.S n)"},{"name":"Nat28","comment":" Exact the natural number 28.\n\n\n","args":[],"type":"TypeNats.Nat28Plus N.Z"},{"name":"Nat28Plus","comment":" 28 + some n, which is at least 28.\n\n\n","args":["n"],"type":"TypeNats.Nat27Plus (N.S n)"},{"name":"Nat29","comment":" Exact the natural number 29.\n\n\n","args":[],"type":"TypeNats.Nat29Plus N.Z"},{"name":"Nat29Plus","comment":" 29 + some n, which is at least 29.\n\n\n","args":["n"],"type":"TypeNats.Nat28Plus (N.S n)"},{"name":"Nat2Plus","comment":" 2 + some n, which is at least 2.\n\n\n","args":["n"],"type":"TypeNats.Nat1Plus (N.S n)"},{"name":"Nat3","comment":" Exact the natural number 3.\n\n\n","args":[],"type":"TypeNats.Nat3Plus N.Z"},{"name":"Nat30","comment":" Exact the natural number 30.\n\n\n","args":[],"type":"TypeNats.Nat30Plus N.Z"},{"name":"Nat30Plus","comment":" 30 + some n, which is at least 30.\n\n\n","args":["n"],"type":"TypeNats.Nat29Plus (N.S n)"},{"name":"Nat31","comment":" Exact the natural number 31.\n\n\n","args":[],"type":"TypeNats.Nat31Plus N.Z"},{"name":"Nat31Plus","comment":" 31 + some n, which is at least 31.\n\n\n","args":["n"],"type":"TypeNats.Nat30Plus (N.S n)"},{"name":"Nat32","comment":" Exact the natural number 32.\n\n\n","args":[],"type":"TypeNats.Nat32Plus N.Z"},{"name":"Nat32Plus","comment":" 32 + some n, which is at least 32.\n\n\n","args":["n"],"type":"TypeNats.Nat31Plus (N.S n)"},{"name":"Nat33","comment":" Exact the natural number 33.\n\n\n","args":[],"type":"TypeNats.Nat33Plus N.Z"},{"name":"Nat33Plus","comment":" 33 + some n, which is at least 33.\n\n\n","args":["n"],"type":"TypeNats.Nat32Plus (N.S n)"},{"name":"Nat34","comment":" Exact the natural number 34.\n\n\n","args":[],"type":"TypeNats.Nat34Plus N.Z"},{"name":"Nat34Plus","comment":" 34 + some n, which is at least 34.\n\n\n","args":["n"],"type":"TypeNats.Nat33Plus (N.S n)"},{"name":"Nat35","comment":" Exact the natural number 35.\n\n\n","args":[],"type":"TypeNats.Nat35Plus N.Z"},{"name":"Nat35Plus","comment":" 35 + some n, which is at least 35.\n\n\n","args":["n"],"type":"TypeNats.Nat34Plus (N.S n)"},{"name":"Nat36","comment":" Exact the natural number 36.\n\n\n","args":[],"type":"TypeNats.Nat36Plus N.Z"},{"name":"Nat36Plus","comment":" 36 + some n, which is at least 36.\n\n\n","args":["n"],"type":"TypeNats.Nat35Plus (N.S n)"},{"name":"Nat37","comment":" Exact the natural number 37.\n\n\n","args":[],"type":"TypeNats.Nat37Plus N.Z"},{"name":"Nat37Plus","comment":" 37 + some n, which is at least 37.\n\n\n","args":["n"],"type":"TypeNats.Nat36Plus (N.S n)"},{"name":"Nat38","comment":" Exact the natural number 38.\n\n\n","args":[],"type":"TypeNats.Nat38Plus N.Z"},{"name":"Nat38Plus","comment":" 38 + some n, which is at least 38.\n\n\n","args":["n"],"type":"TypeNats.Nat37Plus (N.S n)"},{"name":"Nat39","comment":" Exact the natural number 39.\n\n\n","args":[],"type":"TypeNats.Nat39Plus N.Z"},{"name":"Nat39Plus","comment":" 39 + some n, which is at least 39.\n\n\n","args":["n"],"type":"TypeNats.Nat38Plus (N.S n)"},{"name":"Nat3Plus","comment":" 3 + some n, which is at least 3.\n\n\n","args":["n"],"type":"TypeNats.Nat2Plus (N.S n)"},{"name":"Nat4","comment":" Exact the natural number 4.\n\n\n","args":[],"type":"TypeNats.Nat4Plus N.Z"},{"name":"Nat40","comment":" Exact the natural number 40.\n\n\n","args":[],"type":"TypeNats.Nat40Plus N.Z"},{"name":"Nat40Plus","comment":" 40 + some n, which is at least 40.\n\n\n","args":["n"],"type":"TypeNats.Nat39Plus (N.S n)"},{"name":"Nat41","comment":" Exact the natural number 41.\n\n\n","args":[],"type":"TypeNats.Nat41Plus N.Z"},{"name":"Nat41Plus","comment":" 41 + some n, which is at least 41.\n\n\n","args":["n"],"type":"TypeNats.Nat40Plus (N.S n)"},{"name":"Nat42","comment":" Exact the natural number 42.\n\n\n","args":[],"type":"TypeNats.Nat42Plus N.Z"},{"name":"Nat42Plus","comment":" 42 + some n, which is at least 42.\n\n\n","args":["n"],"type":"TypeNats.Nat41Plus (N.S n)"},{"name":"Nat43","comment":" Exact the natural number 43.\n\n\n","args":[],"type":"TypeNats.Nat43Plus N.Z"},{"name":"Nat43Plus","comment":" 43 + some n, which is at least 43.\n\n\n","args":["n"],"type":"TypeNats.Nat42Plus (N.S n)"},{"name":"Nat44","comment":" Exact the natural number 44.\n\n\n","args":[],"type":"TypeNats.Nat44Plus N.Z"},{"name":"Nat44Plus","comment":" 44 + some n, which is at least 44.\n\n\n","args":["n"],"type":"TypeNats.Nat43Plus (N.S n)"},{"name":"Nat45","comment":" Exact the natural number 45.\n\n\n","args":[],"type":"TypeNats.Nat45Plus N.Z"},{"name":"Nat45Plus","comment":" 45 + some n, which is at least 45.\n\n\n","args":["n"],"type":"TypeNats.Nat44Plus (N.S n)"},{"name":"Nat46","comment":" Exact the natural number 46.\n\n\n","args":[],"type":"TypeNats.Nat46Plus N.Z"},{"name":"Nat46Plus","comment":" 46 + some n, which is at least 46.\n\n\n","args":["n"],"type":"TypeNats.Nat45Plus (N.S n)"},{"name":"Nat47","comment":" Exact the natural number 47.\n\n\n","args":[],"type":"TypeNats.Nat47Plus N.Z"},{"name":"Nat47Plus","comment":" 47 + some n, which is at least 47.\n\n\n","args":["n"],"type":"TypeNats.Nat46Plus (N.S n)"},{"name":"Nat48","comment":" Exact the natural number 48.\n\n\n","args":[],"type":"TypeNats.Nat48Plus N.Z"},{"name":"Nat48Plus","comment":" 48 + some n, which is at least 48.\n\n\n","args":["n"],"type":"TypeNats.Nat47Plus (N.S n)"},{"name":"Nat49","comment":" Exact the natural number 49.\n\n\n","args":[],"type":"TypeNats.Nat49Plus N.Z"},{"name":"Nat49Plus","comment":" 49 + some n, which is at least 49.\n\n\n","args":["n"],"type":"TypeNats.Nat48Plus (N.S n)"},{"name":"Nat4Plus","comment":" 4 + some n, which is at least 4.\n\n\n","args":["n"],"type":"TypeNats.Nat3Plus (N.S n)"},{"name":"Nat5","comment":" Exact the natural number 5.\n\n\n","args":[],"type":"TypeNats.Nat5Plus N.Z"},{"name":"Nat50","comment":" Exact the natural number 50.\n\n\n","args":[],"type":"TypeNats.Nat50Plus N.Z"},{"name":"Nat50Plus","comment":" 50 + some n, which is at least 50.\n\n\n","args":["n"],"type":"TypeNats.Nat49Plus (N.S n)"},{"name":"Nat51","comment":" Exact the natural number 51.\n\n\n","args":[],"type":"TypeNats.Nat51Plus N.Z"},{"name":"Nat51Plus","comment":" 51 + some n, which is at least 51.\n\n\n","args":["n"],"type":"TypeNats.Nat50Plus (N.S n)"},{"name":"Nat52","comment":" Exact the natural number 52.\n\n\n","args":[],"type":"TypeNats.Nat52Plus N.Z"},{"name":"Nat52Plus","comment":" 52 + some n, which is at least 52.\n\n\n","args":["n"],"type":"TypeNats.Nat51Plus (N.S n)"},{"name":"Nat53","comment":" Exact the natural number 53.\n\n\n","args":[],"type":"TypeNats.Nat53Plus N.Z"},{"name":"Nat53Plus","comment":" 53 + some n, which is at least 53.\n\n\n","args":["n"],"type":"TypeNats.Nat52Plus (N.S n)"},{"name":"Nat54","comment":" Exact the natural number 54.\n\n\n","args":[],"type":"TypeNats.Nat54Plus N.Z"},{"name":"Nat54Plus","comment":" 54 + some n, which is at least 54.\n\n\n","args":["n"],"type":"TypeNats.Nat53Plus (N.S n)"},{"name":"Nat55","comment":" Exact the natural number 55.\n\n\n","args":[],"type":"TypeNats.Nat55Plus N.Z"},{"name":"Nat55Plus","comment":" 55 + some n, which is at least 55.\n\n\n","args":["n"],"type":"TypeNats.Nat54Plus (N.S n)"},{"name":"Nat56","comment":" Exact the natural number 56.\n\n\n","args":[],"type":"TypeNats.Nat56Plus N.Z"},{"name":"Nat56Plus","comment":" 56 + some n, which is at least 56.\n\n\n","args":["n"],"type":"TypeNats.Nat55Plus (N.S n)"},{"name":"Nat57","comment":" Exact the natural number 57.\n\n\n","args":[],"type":"TypeNats.Nat57Plus N.Z"},{"name":"Nat57Plus","comment":" 57 + some n, which is at least 57.\n\n\n","args":["n"],"type":"TypeNats.Nat56Plus (N.S n)"},{"name":"Nat58","comment":" Exact the natural number 58.\n\n\n","args":[],"type":"TypeNats.Nat58Plus N.Z"},{"name":"Nat58Plus","comment":" 58 + some n, which is at least 58.\n\n\n","args":["n"],"type":"TypeNats.Nat57Plus (N.S n)"},{"name":"Nat59","comment":" Exact the natural number 59.\n\n\n","args":[],"type":"TypeNats.Nat59Plus N.Z"},{"name":"Nat59Plus","comment":" 59 + some n, which is at least 59.\n\n\n","args":["n"],"type":"TypeNats.Nat58Plus (N.S n)"},{"name":"Nat5Plus","comment":" 5 + some n, which is at least 5.\n\n\n","args":["n"],"type":"TypeNats.Nat4Plus (N.S n)"},{"name":"Nat6","comment":" Exact the natural number 6.\n\n\n","args":[],"type":"TypeNats.Nat6Plus N.Z"},{"name":"Nat60","comment":" Exact the natural number 60.\n\n\n","args":[],"type":"TypeNats.Nat60Plus N.Z"},{"name":"Nat60Plus","comment":" 60 + some n, which is at least 60.\n\n\n","args":["n"],"type":"TypeNats.Nat59Plus (N.S n)"},{"name":"Nat61","comment":" Exact the natural number 61.\n\n\n","args":[],"type":"TypeNats.Nat61Plus N.Z"},{"name":"Nat61Plus","comment":" 61 + some n, which is at least 61.\n\n\n","args":["n"],"type":"TypeNats.Nat60Plus (N.S n)"},{"name":"Nat62","comment":" Exact the natural number 62.\n\n\n","args":[],"type":"TypeNats.Nat62Plus N.Z"},{"name":"Nat62Plus","comment":" 62 + some n, which is at least 62.\n\n\n","args":["n"],"type":"TypeNats.Nat61Plus (N.S n)"},{"name":"Nat63","comment":" Exact the natural number 63.\n\n\n","args":[],"type":"TypeNats.Nat63Plus N.Z"},{"name":"Nat63Plus","comment":" 63 + some n, which is at least 63.\n\n\n","args":["n"],"type":"TypeNats.Nat62Plus (N.S n)"},{"name":"Nat64","comment":" Exact the natural number 64.\n\n\n","args":[],"type":"TypeNats.Nat64Plus N.Z"},{"name":"Nat64Plus","comment":" 64 + some n, which is at least 64.\n\n\n","args":["n"],"type":"TypeNats.Nat63Plus (N.S n)"},{"name":"Nat65","comment":" Exact the natural number 65.\n\n\n","args":[],"type":"TypeNats.Nat65Plus N.Z"},{"name":"Nat65Plus","comment":" 65 + some n, which is at least 65.\n\n\n","args":["n"],"type":"TypeNats.Nat64Plus (N.S n)"},{"name":"Nat66","comment":" Exact the natural number 66.\n\n\n","args":[],"type":"TypeNats.Nat66Plus N.Z"},{"name":"Nat66Plus","comment":" 66 + some n, which is at least 66.\n\n\n","args":["n"],"type":"TypeNats.Nat65Plus (N.S n)"},{"name":"Nat67","comment":" Exact the natural number 67.\n\n\n","args":[],"type":"TypeNats.Nat67Plus N.Z"},{"name":"Nat67Plus","comment":" 67 + some n, which is at least 67.\n\n\n","args":["n"],"type":"TypeNats.Nat66Plus (N.S n)"},{"name":"Nat68","comment":" Exact the natural number 68.\n\n\n","args":[],"type":"TypeNats.Nat68Plus N.Z"},{"name":"Nat68Plus","comment":" 68 + some n, which is at least 68.\n\n\n","args":["n"],"type":"TypeNats.Nat67Plus (N.S n)"},{"name":"Nat69","comment":" Exact the natural number 69.\n\n\n","args":[],"type":"TypeNats.Nat69Plus N.Z"},{"name":"Nat69Plus","comment":" 69 + some n, which is at least 69.\n\n\n","args":["n"],"type":"TypeNats.Nat68Plus (N.S n)"},{"name":"Nat6Plus","comment":" 6 + some n, which is at least 6.\n\n\n","args":["n"],"type":"TypeNats.Nat5Plus (N.S n)"},{"name":"Nat7","comment":" Exact the natural number 7.\n\n\n","args":[],"type":"TypeNats.Nat7Plus N.Z"},{"name":"Nat70","comment":" Exact the natural number 70.\n\n\n","args":[],"type":"TypeNats.Nat70Plus N.Z"},{"name":"Nat70Plus","comment":" 70 + some n, which is at least 70.\n\n\n","args":["n"],"type":"TypeNats.Nat69Plus (N.S n)"},{"name":"Nat71","comment":" Exact the natural number 71.\n\n\n","args":[],"type":"TypeNats.Nat71Plus N.Z"},{"name":"Nat71Plus","comment":" 71 + some n, which is at least 71.\n\n\n","args":["n"],"type":"TypeNats.Nat70Plus (N.S n)"},{"name":"Nat72","comment":" Exact the natural number 72.\n\n\n","args":[],"type":"TypeNats.Nat72Plus N.Z"},{"name":"Nat72Plus","comment":" 72 + some n, which is at least 72.\n\n\n","args":["n"],"type":"TypeNats.Nat71Plus (N.S n)"},{"name":"Nat73","comment":" Exact the natural number 73.\n\n\n","args":[],"type":"TypeNats.Nat73Plus N.Z"},{"name":"Nat73Plus","comment":" 73 + some n, which is at least 73.\n\n\n","args":["n"],"type":"TypeNats.Nat72Plus (N.S n)"},{"name":"Nat74","comment":" Exact the natural number 74.\n\n\n","args":[],"type":"TypeNats.Nat74Plus N.Z"},{"name":"Nat74Plus","comment":" 74 + some n, which is at least 74.\n\n\n","args":["n"],"type":"TypeNats.Nat73Plus (N.S n)"},{"name":"Nat75","comment":" Exact the natural number 75.\n\n\n","args":[],"type":"TypeNats.Nat75Plus N.Z"},{"name":"Nat75Plus","comment":" 75 + some n, which is at least 75.\n\n\n","args":["n"],"type":"TypeNats.Nat74Plus (N.S n)"},{"name":"Nat76","comment":" Exact the natural number 76.\n\n\n","args":[],"type":"TypeNats.Nat76Plus N.Z"},{"name":"Nat76Plus","comment":" 76 + some n, which is at least 76.\n\n\n","args":["n"],"type":"TypeNats.Nat75Plus (N.S n)"},{"name":"Nat77","comment":" Exact the natural number 77.\n\n\n","args":[],"type":"TypeNats.Nat77Plus N.Z"},{"name":"Nat77Plus","comment":" 77 + some n, which is at least 77.\n\n\n","args":["n"],"type":"TypeNats.Nat76Plus (N.S n)"},{"name":"Nat78","comment":" Exact the natural number 78.\n\n\n","args":[],"type":"TypeNats.Nat78Plus N.Z"},{"name":"Nat78Plus","comment":" 78 + some n, which is at least 78.\n\n\n","args":["n"],"type":"TypeNats.Nat77Plus (N.S n)"},{"name":"Nat79","comment":" Exact the natural number 79.\n\n\n","args":[],"type":"TypeNats.Nat79Plus N.Z"},{"name":"Nat79Plus","comment":" 79 + some n, which is at least 79.\n\n\n","args":["n"],"type":"TypeNats.Nat78Plus (N.S n)"},{"name":"Nat7Plus","comment":" 7 + some n, which is at least 7.\n\n\n","args":["n"],"type":"TypeNats.Nat6Plus (N.S n)"},{"name":"Nat8","comment":" Exact the natural number 8.\n\n\n","args":[],"type":"TypeNats.Nat8Plus N.Z"},{"name":"Nat80","comment":" Exact the natural number 80.\n\n\n","args":[],"type":"TypeNats.Nat80Plus N.Z"},{"name":"Nat80Plus","comment":" 80 + some n, which is at least 80.\n\n\n","args":["n"],"type":"TypeNats.Nat79Plus (N.S n)"},{"name":"Nat81","comment":" Exact the natural number 81.\n\n\n","args":[],"type":"TypeNats.Nat81Plus N.Z"},{"name":"Nat81Plus","comment":" 81 + some n, which is at least 81.\n\n\n","args":["n"],"type":"TypeNats.Nat80Plus (N.S n)"},{"name":"Nat82","comment":" Exact the natural number 82.\n\n\n","args":[],"type":"TypeNats.Nat82Plus N.Z"},{"name":"Nat82Plus","comment":" 82 + some n, which is at least 82.\n\n\n","args":["n"],"type":"TypeNats.Nat81Plus (N.S n)"},{"name":"Nat83","comment":" Exact the natural number 83.\n\n\n","args":[],"type":"TypeNats.Nat83Plus N.Z"},{"name":"Nat83Plus","comment":" 83 + some n, which is at least 83.\n\n\n","args":["n"],"type":"TypeNats.Nat82Plus (N.S n)"},{"name":"Nat84","comment":" Exact the natural number 84.\n\n\n","args":[],"type":"TypeNats.Nat84Plus N.Z"},{"name":"Nat84Plus","comment":" 84 + some n, which is at least 84.\n\n\n","args":["n"],"type":"TypeNats.Nat83Plus (N.S n)"},{"name":"Nat85","comment":" Exact the natural number 85.\n\n\n","args":[],"type":"TypeNats.Nat85Plus N.Z"},{"name":"Nat85Plus","comment":" 85 + some n, which is at least 85.\n\n\n","args":["n"],"type":"TypeNats.Nat84Plus (N.S n)"},{"name":"Nat86","comment":" Exact the natural number 86.\n\n\n","args":[],"type":"TypeNats.Nat86Plus N.Z"},{"name":"Nat86Plus","comment":" 86 + some n, which is at least 86.\n\n\n","args":["n"],"type":"TypeNats.Nat85Plus (N.S n)"},{"name":"Nat87","comment":" Exact the natural number 87.\n\n\n","args":[],"type":"TypeNats.Nat87Plus N.Z"},{"name":"Nat87Plus","comment":" 87 + some n, which is at least 87.\n\n\n","args":["n"],"type":"TypeNats.Nat86Plus (N.S n)"},{"name":"Nat88","comment":" Exact the natural number 88.\n\n\n","args":[],"type":"TypeNats.Nat88Plus N.Z"},{"name":"Nat88Plus","comment":" 88 + some n, which is at least 88.\n\n\n","args":["n"],"type":"TypeNats.Nat87Plus (N.S n)"},{"name":"Nat89","comment":" Exact the natural number 89.\n\n\n","args":[],"type":"TypeNats.Nat89Plus N.Z"},{"name":"Nat89Plus","comment":" 89 + some n, which is at least 89.\n\n\n","args":["n"],"type":"TypeNats.Nat88Plus (N.S n)"},{"name":"Nat8Plus","comment":" 8 + some n, which is at least 8.\n\n\n","args":["n"],"type":"TypeNats.Nat7Plus (N.S n)"},{"name":"Nat9","comment":" Exact the natural number 9.\n\n\n","args":[],"type":"TypeNats.Nat9Plus N.Z"},{"name":"Nat90","comment":" Exact the natural number 90.\n\n\n","args":[],"type":"TypeNats.Nat90Plus N.Z"},{"name":"Nat90Plus","comment":" 90 + some n, which is at least 90.\n\n\n","args":["n"],"type":"TypeNats.Nat89Plus (N.S n)"},{"name":"Nat91","comment":" Exact the natural number 91.\n\n\n","args":[],"type":"TypeNats.Nat91Plus N.Z"},{"name":"Nat91Plus","comment":" 91 + some n, which is at least 91.\n\n\n","args":["n"],"type":"TypeNats.Nat90Plus (N.S n)"},{"name":"Nat92","comment":" Exact the natural number 92.\n\n\n","args":[],"type":"TypeNats.Nat92Plus N.Z"},{"name":"Nat92Plus","comment":" 92 + some n, which is at least 92.\n\n\n","args":["n"],"type":"TypeNats.Nat91Plus (N.S n)"},{"name":"Nat93","comment":" Exact the natural number 93.\n\n\n","args":[],"type":"TypeNats.Nat93Plus N.Z"},{"name":"Nat93Plus","comment":" 93 + some n, which is at least 93.\n\n\n","args":["n"],"type":"TypeNats.Nat92Plus (N.S n)"},{"name":"Nat94","comment":" Exact the natural number 94.\n\n\n","args":[],"type":"TypeNats.Nat94Plus N.Z"},{"name":"Nat94Plus","comment":" 94 + some n, which is at least 94.\n\n\n","args":["n"],"type":"TypeNats.Nat93Plus (N.S n)"},{"name":"Nat95","comment":" Exact the natural number 95.\n\n\n","args":[],"type":"TypeNats.Nat95Plus N.Z"},{"name":"Nat95Plus","comment":" 95 + some n, which is at least 95.\n\n\n","args":["n"],"type":"TypeNats.Nat94Plus (N.S n)"},{"name":"Nat96","comment":" Exact the natural number 96.\n\n\n","args":[],"type":"TypeNats.Nat96Plus N.Z"},{"name":"Nat96Plus","comment":" 96 + some n, which is at least 96.\n\n\n","args":["n"],"type":"TypeNats.Nat95Plus (N.S n)"},{"name":"Nat97","comment":" Exact the natural number 97.\n\n\n","args":[],"type":"TypeNats.Nat97Plus N.Z"},{"name":"Nat97Plus","comment":" 97 + some n, which is at least 97.\n\n\n","args":["n"],"type":"TypeNats.Nat96Plus (N.S n)"},{"name":"Nat98","comment":" Exact the natural number 98.\n\n\n","args":[],"type":"TypeNats.Nat98Plus N.Z"},{"name":"Nat98Plus","comment":" 98 + some n, which is at least 98.\n\n\n","args":["n"],"type":"TypeNats.Nat97Plus (N.S n)"},{"name":"Nat99","comment":" Exact the natural number 99.\n\n\n","args":[],"type":"TypeNats.Nat99Plus N.Z"},{"name":"Nat99Plus","comment":" 99 + some n, which is at least 99.\n\n\n","args":["n"],"type":"TypeNats.Nat98Plus (N.S n)"},{"name":"Nat9Plus","comment":" 9 + some n, which is at least 9.\n\n\n","args":["n"],"type":"TypeNats.Nat8Plus (N.S n)"}],"values":[],"binops":[]}]