[{"name":"InNat","comment":" Operations when you know the `maximum` of the `Nat (ArgIn minimum maximum ifN_)`.\n\nFor example for the argument in\n\n    toHexChar : Nat (ArgIn min_ Nat15 ifN_) -> Char\n\nyou should use `InNat` operations.\n\nIf the maximum isn't known, use the operations in [`MinNat`](MinNat).\n\n\n# compare\n\n@docs is, isInRange, isAtLeast, isAtMost, atLeast\n\n\n# modify\n\n@docs add, sub, addIn, subIn\n\n\n# drop information\n\n@docs value\n\n\n# extra\n\n@docs serialize\n\n","unions":[],"aliases":[],"values":[{"name":"add","comment":" Add a `Nat (N ...)`.\n\n    between70And100\n        |> InNat.add nat7\n    --> : Nat (In Nat77 (Nat107Plus a_))\n\nUse [addIn](InNat#addIn) if you want to add a `Nat` that isn't a `Nat (N ...)`.\n\n","type":"Nat.Nat (Nat.N added atLeastAdded_ (Nat.Is min Nat.To sumMin) (Nat.Is max Nat.To sumMax)) -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.Nat (Nat.In sumMin sumMax)"},{"name":"addIn","comment":" Add a `Nat` that isn't a `Nat (N ...)`.\n\nThe first 2 arguments are\n\n  - the minimum added value\n\n  - the maximum added value\n\n```\nbetween3And10\n    |> InNat.addIn nat1 nat12 between1And12\n--> : Nat (In Nat4 (Nat22Plus a_))\n```\n\n","type":"Nat.Nat (Nat.N minAdded atLeastMinAdded_ (Nat.Is min Nat.To sumMin) minAddedIs_) -> Nat.Nat (Nat.N maxAdded atLeastMaxAdded_ (Nat.Is max Nat.To sumMax) maxAddedIs_) -> Nat.Nat (Nat.ArgIn minAdded maxAdded addedIfN_) -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.Nat (Nat.In sumMin sumMax)"},{"name":"atLeast","comment":" Return the given number if the `Nat` is less.\n\n    between5And9 |> InNat.atLeast nat10\n    --> Nat 10 : Nat (In Nat10 (Nat10Plus a_))\n\n    nat15 |> InNat.atLeast nat10\n    --> Nat 15\n\n","type":"Nat.Nat (Nat.ArgIn minNewMin max lowerIfN_) -> Nat.Nat (Nat.ArgIn min_ max ifN_) -> Nat.Nat (Nat.In minNewMin max)"},{"name":"is","comment":" Is the `Nat` `LessOrEqualOrGreater` than a given number?\n\n`lowest` can be a number <= the minimum.\n\n    giveAPresent { age } =\n        case age |> InNat.is nat18 { lowest = nat0 } of\n            Nat.Less age ->\n                toy { age = age }\n\n            Nat.Greater age ->\n                experience { age = age }\n\n            Nat.Equal _ ->\n                bigPresent\n\n    toy : { age : Nat (ArgIn min Nat17 ifN_) } -> Toy\n\n    experience :\n        { age : Nat (ArgIn (Nat19Plus orOlder) max ifN_) }\n        -> Experience\n\n","type":"Nat.Nat (Nat.N (N.Nat1Plus valueMinus1) atLeastValue (Nat.Is a_ Nat.To (N.Nat1Plus atLeastValueMinus1)) (Nat.Is valueToMax_ Nat.To max)) -> { lowest : Nat.Nat (Nat.N lowest atLeastLowest_ (Nat.Is lowestToMin_ Nat.To min) (Nat.Is minToValue_ Nat.To (N.Nat1Plus valueMinus1))) } -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.LessOrEqualOrGreater (Nat.Nat (Nat.In lowest atLeastValueMinus1)) (Nat.Nat (Nat.In (N.Nat1Plus valueMinus1) atLeastValue)) (Nat.Nat (Nat.In (N.Nat2Plus valueMinus1) max))"},{"name":"isAtLeast","comment":" Is the `Nat` `BelowOrAtLeast` as big as a given number?\n\n`lowest` can be a number <= the minimum.\n\n    vote :\n        { age : Nat (ArgIn (Nat18Plus orOlder) max ifN_) }\n        -> Vote\n\n    tryToVote { age } =\n        case age |> InNat.isAtLeast nat18 { lowest = nat0 } of\n            Nat.Below _ ->\n                --😓\n                Nothing\n\n            Nat.EqualOrGreater age ->\n                Just (vote { age = age })\n\n","type":"Nat.Nat (Nat.N lowerBound (N.Nat1Plus atLeastLowerBoundMinus1) (Nat.Is atLeastRange_ Nat.To max) is_) -> { lowest : Nat.Nat (Nat.N lowest atLeastLowest (Nat.Is lowestToMin Nat.To min) (Nat.Is (N.Nat1Plus lowestToLowerBound_) Nat.To lowerBound)) } -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.BelowOrAtLeast (Nat.Nat (Nat.In lowest atLeastLowerBoundMinus1)) (Nat.Nat (Nat.In lowerBound max))"},{"name":"isAtMost","comment":" Is the `Nat` `AtMostOrAbove` a given number?\n\n`lowest` can be a number <= the minimum.\n\n    goToU18Party : { age : Nat (ArgIn min Nat17 ifN_) } -> Snack\n\n    tryToGoToU18Party { age } =\n        case age |> InNat.isAtMost nat17 { lowest = nat0 } of\n            Nat.EqualOrLess age ->\n                Just (goToU18Party { age = age })\n\n            Nat.Above ->\n                Nothing\n\n","type":"Nat.Nat (Nat.N upperBound atLeastUpperBound (Nat.Is (N.Nat1Plus greaterRange_) Nat.To max) is_) -> { lowest : Nat.Nat (Nat.N lowest atLeastLowest_ (Nat.Is lowestToMin_ Nat.To min) (Nat.Is minToUpperBound_ Nat.To upperBound)) } -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.AtMostOrAbove (Nat.Nat (Nat.In lowest atLeastUpperBound)) (Nat.Nat (Nat.In (N.Nat1Plus upperBound) max))"},{"name":"isInRange","comment":" Compared to a range from a lower to an upper bound, is the `Nat` `BelowOrInOrAboveRange`?\n\n`lowest` can be a number <= the minimum.\n\n    justIfBetween3And10 nat =\n        case nat |> InNat.isInRange nat3 nat10 { lowest = nat0 } of\n            Nat.InRange ->\n                Just\n\n            _ ->\n                Nothing\n\n    justIfBetween3And10 nat9\n    --> Just (Nat 9)\n\n    justIfBetween3And10 nat123\n    --> Nothing\n\n","type":"Nat.Nat (Nat.N lowerBound (N.Nat1Plus atLeastLowerBoundMinus1) (Nat.Is lowerBoundToUpperBound_ Nat.To upperBound) lowerBoundIs_) -> Nat.Nat (Nat.N upperBound atLeastUpperBound (Nat.Is upperBoundToMax_ Nat.To max) upperBoundIs_) -> { lowest : Nat.Nat (Nat.N lowest atLeastLowest_ (Nat.Is lowestToMin_ Nat.To min) (Nat.Is minToLowerBound_ Nat.To lowerBound)) } -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.BelowOrInOrAboveRange (Nat.Nat (Nat.In lowest atLeastLowerBoundMinus1)) (Nat.Nat (Nat.In lowerBound atLeastUpperBound)) (Nat.Nat (Nat.In (N.Nat1Plus upperBound) max))"},{"name":"serialize","comment":" A [`Codec`](https://package.elm-lang.org/packages/MartinSStewart/elm-serialize/latest/) to serialize `Nat`s within a lower & upper bound.\n\n    import Serialize\n\n    serializePercent :\n        Serialize.Codec\n            String\n            (Nat (In Nat0 (Nat100Plus a_)))\n    serializePercent =\n        InNat.serialize nat0 nat100\n\n    encode : Nat (ArgIn min_ Nat100 ifN_) -> Bytes\n    encode =\n        InNat.value\n            >> Serialize.encodeToBytes serializePercent\n\n    decode :\n        Bytes\n        ->\n            Result\n                (Serialize.Error String)\n                (Nat (In Nat0 (Nat100Plus a_)))\n    decode =\n        Serialize.decodeFromBytes serializePercent\n\nFor decoded `Int`s out of the expected bounds, the `Result` is an error message.\n\n","type":"Nat.Nat (Nat.ArgIn minLowerBound maxLowerBound lowerBoundIfN_) -> Nat.Nat (Nat.ArgIn maxLowerBound maxUpperBound upperBoundIfN_) -> Serialize.Codec String.String (Nat.Nat (Nat.In minLowerBound maxUpperBound))"},{"name":"sub","comment":" Subtract an exact `Nat (N ...)` value.\n\n    between7And10\n        |> InNat.sub nat7\n    --> : Nat (In Nat0 (Nat3Plus a_))\n\nUse [subIn](InNat#subIn) if you want to subtract a `Nat` that isn't a `Nat (N ...)`.\n\n","type":"Nat.Nat (Nat.N subbed_ atLeastSubbed_ (Nat.Is differenceMin Nat.To min) (Nat.Is differenceMax Nat.To max)) -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.Nat (Nat.In differenceMin differenceMax)"},{"name":"subIn","comment":" Subtract a `Nat` taht isn't a `Nat (N ...)`.\n\nThe first 2 arguments are\n\n  - the minimum subtracted value\n\n  - the maximum subtracted value\n\n```\nbetween6And12\n    |> InNat.subIn nat1 nat5 between1And5\n--> : Nat (In Nat1 (Nat5Plus a_))\n```\n\n","type":"Nat.Nat (Nat.N minSubbed atLeastMinSubbed_ (Nat.Is differenceMax Nat.To max) minSubbedIs_) -> Nat.Nat (Nat.N maxSubbed atLeastMaxSubbed_ (Nat.Is differenceMin Nat.To min) maxSubbedIs_) -> Nat.Nat (Nat.ArgIn minSubbed maxSubbed subbedIfN_) -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.Nat (Nat.In differenceMin differenceMax)"},{"name":"value","comment":" Convert it to a `Nat (In min max)`.\n\n    InNat.value nat4\n    --> : Nat (In Nat4 (Nat4Plus a_))\n\nExample\n\n    [ in3To10, nat3 ]\n\nElm complains:\n\n> But all the previous elements in the list are: `Nat (In Nat3 Nat10)`\n\n    [ in3To10\n    , nat3 |> InNat.value\n    ]\n\n","type":"Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.Nat (Nat.In min max)"}],"binops":[]},{"name":"MinNat","comment":" 2 situations where you use these operations instead of the ones in [`Nat`](Nat) or [`InNat`](InNat):\n\n1.  Your value is of type `Nat (Min ...)`\n\n        nat3 |> Nat.mul nat3\n        --> Nat (Min Nat3)\n\n2.  The maximum is a type variable\n\n        divideBy : Nat (ArgIn (Nat1Plus minMinus1) max ifN_) -> --...\n        divideBy atLeast1 =\n            --...\n\n\n# compare\n\n@docs is, isAtLeast, isAtMost, atLeast\n\n\n# modify\n\n@docs sub, add, subMax, addMin\n\n\n# drop information\n\n@docs value\n\n\n# extra\n\n@docs serialize\n\n","unions":[],"aliases":[],"values":[{"name":"add","comment":" Add an exact `Nat (N ...)` value.\n\n    atLeast70 |> InNat.add nat7\n    --> : Nat (Min Nat77)\n\nUse [addMin](MinNat#addMin) if you want to add a `Nat` that isn't a `Nat (N ...)`.\n\n","type":"Nat.Nat (Nat.N added_ atLeastAdded_ (Nat.Is min Nat.To sumMin) is_) -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.Nat (Nat.Min sumMin)"},{"name":"addMin","comment":" Add a `Nat` that isn't a `Nat (N ...)`. The second argument is the minimum added value.\n\n    atLeast5 |> MinNat.addMin nat2 atLeast2\n    --> : Nat (Min Nat7)\n\n","type":"Nat.Nat (Nat.N minAdded atLeastMinAdded_ (Nat.Is min Nat.To sumMin) is_) -> Nat.Nat (Nat.ArgIn minAdded maxAdded_ addedIfN_) -> Nat.Nat (Nat.ArgIn min max_ ifN_) -> Nat.Nat (Nat.Min sumMin)"},{"name":"atLeast","comment":" Return the given number if the `Nat` is less.\n\n    nat5 |> MinNat.atLeast nat10\n    --> Nat 10 : Nat (Min Nat10)\n\n    atLeast5 |> MinNat.atLeast nat10\n    --> : Nat (Min Nat10)\n\n","type":"Nat.Nat (Nat.ArgIn minNewMin newMin_ lowerIfN_) -> Nat.Nat (Nat.ArgIn min_ max_ ifN_) -> Nat.Nat (Nat.Min minNewMin)"},{"name":"is","comment":" Is the `Nat` `LessOrEqualOrGreater` than a given number?\n\n`lowest` can be a number <= the minimum.\n\n    giveAPresent { age } =\n        case age |> MinNat.is nat18 { lowest = nat0 } of\n            Nat.Less age ->\n                toy { age = age }\n\n            Nat.Greater age ->\n                experience { age = age }\n\n            Nat.Equal _ ->\n                bigPresent\n\n    toy : { age : Nat (ArgIn Nat0 Nat17 ifN_) } -> Toy\n\n    experience : { age : Nat (ArgIn Nat19 max ifN_) } -> Experience\n\n","type":"Nat.Nat (Nat.N (N.Nat1Plus valueMinus1) atLeastValue (Nat.Is a_ Nat.To (N.Nat1Plus atLeastValueMinus1)) valueIs_) -> { lowest : Nat.Nat (Nat.N lowest atLeastLowest_ (Nat.Is lowestToMin_ Nat.To min) (Nat.Is minToValueMinus1_ Nat.To valueMinus1)) } -> Nat.Nat (Nat.ArgIn min max_ ifN_) -> Nat.LessOrEqualOrGreater (Nat.Nat (Nat.In lowest atLeastValueMinus1)) (Nat.Nat (Nat.In (N.Nat1Plus valueMinus1) atLeastValue)) (Nat.Nat (Nat.Min (N.Nat2Plus valueMinus1)))"},{"name":"isAtLeast","comment":" Is the `Nat` `BelowOrAtLeast` a given number?\n\n    factorial : Nat (ArgIn min_ max_ ifN_) -> Nat (Min Nat1)\n    factorial =\n        factorialBody\n\n    factorialBody : -- as in factorial\n    factorialBody =\n        case x |> MinNat.isAtLeast nat1 { lowest = nat0 } of\n            Nat.Below _ ->\n                MinNat.value nat1\n\n            Nat.EqualOrGreater atLeast1 ->\n                Nat.mul atLeast1\n                    (factorial\n                        (atLeast1 |> MinNat.sub nat1)\n                    )\n\n","type":"Nat.Nat (Nat.ArgIn minLowerBound (N.Nat1Plus maxLowerBoundMinus1) lowerBoundIfN_) -> { lowest : Nat.Nat (Nat.N lowest atLeastLowest_ (Nat.Is lowestToMin_ Nat.To min) (Nat.Is lowestToMinLowerBound_ Nat.To minLowerBound)) } -> Nat.Nat (Nat.ArgIn min max_ ifN_) -> Nat.BelowOrAtLeast (Nat.Nat (Nat.In lowest maxLowerBoundMinus1)) (Nat.Nat (Nat.Min minLowerBound))"},{"name":"isAtMost","comment":" Is the `Nat` `AtMostOrAbove` a given number?\n\n    goToU18Party : { age : Nat (ArgIn min_ Nat17 ifN_) } -> Snack\n\n    tryToGoToU18Party { age } =\n        case age |> MinNat.isAtMost nat17 { lowest = nat0 } of\n            EqualOrLess age ->\n                Just (goToU18Party { age = age })\n\n            Greater _ ->\n                Nothing\n\n","type":"Nat.Nat (Nat.ArgIn minUpperBound maxUpperBound upperBoundIfN_) -> { lowest : Nat.Nat (Nat.N lowest atLeastLowest_ (Nat.Is lowestToMin_ Nat.To min) (Nat.Is minToAtMostMin_ Nat.To minUpperBound)) } -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.AtMostOrAbove (Nat.Nat (Nat.In lowest maxUpperBound)) (Nat.Nat (Nat.Min (N.Nat1Plus minUpperBound)))"},{"name":"serialize","comment":" A [`Codec`](https://package.elm-lang.org/packages/MartinSStewart/elm-serialize/latest/) to serialize `Nat`s with a lower bound.\n\n    import Serialize\n\n    serializeNaturalNumber :\n        Serialize.Codec\n            String\n            (Nat (Min Nat0))\n    serializeNaturalNumber =\n        MinNat.serialize nat0\n\n    encode : Nat (ArgIn min max ifN_) -> Bytes\n    encode =\n        MinNat.value\n            >> Serialize.encodeToBytes serializeNaturalNumber\n\n    decode :\n        Bytes\n        -> Result (Serialize.Error String) (Nat (Min Nat0))\n    decode =\n        Serialize.decodeFromBytes serializeNaturalNumber\n\n","type":"Nat.Nat (Nat.ArgIn minLowerBound maxLowerBound_ lowerBoundIfN_) -> Serialize.Codec String.String (Nat.Nat (Nat.Min minLowerBound))"},{"name":"sub","comment":" Subtract an exact `Nat (N ...)`.\n\n    atLeast7 |> MinNat.sub nat2\n    --> : Nat (Min Nat5)\n\nUse [subMax](MinNat#subMax) if you want to subtract a `Nat` that isn't a `Nat (N ...)`.\n\n","type":"Nat.Nat (Nat.N subbed_ atLeastSubbed_ (Nat.Is differenceMin Nat.To min) is_) -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.Nat (Nat.In differenceMin max)"},{"name":"subMax","comment":" Subtract a `Nat` that isn't a `Nat (N ...)`. The second argument is the maximum of the subtracted `Nat`.\n\n    atLeast6 |> MinNat.subMax nat5 between0And5\n    --> : Nat (Min Nat1)\n\n","type":"Nat.Nat (Nat.N maxSubbed atLeastMaxSubbed_ (Nat.Is differenceMin Nat.To min) is_) -> Nat.Nat (Nat.ArgIn minSubbed maxSubbed subbedIfN_) -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.Nat (Nat.In differenceMin max)"},{"name":"value","comment":" Convert a `Nat (ArgIn min ...)` to a `Nat (Min min)`.\n\n    between3And10 |> MinNat.value\n    --> : Nat (Min Nat4)\n\nThere is **only 1 situation you should use this.**\n\nTo make these the same type.\n\n    [ atLeast1, between1And10 ]\n\nElm complains:\n\n> But all the previous elements in the list are: `Nat (Min Nat1)`\n\n    [ atLeast1\n    , between1And10 |> MinNat.value\n    ]\n\n","type":"Nat.Nat (Nat.ArgIn min max_ ifN_) -> Nat.Nat (Nat.Min min)"}],"binops":[]},{"name":"NNat","comment":" Operations that only apply for `Nat (N ...)`s. You'll probably never need those.\n\n\n## modify\n\n@docs add, sub\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\n    --> : Nat\n    -->     (N Nat11\n    -->         (Nat11Plus a)\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.N added atLeastFirstAdded_ (Nat.Is n Nat.To sum) (Nat.Is atLeastN Nat.To atLeastSum)), Nat.Nat (Nat.N added atLeastSecondAdded_ (Nat.Is aPlusN Nat.To aPlusSum) (Nat.Is bPlusN Nat.To bPlusSum)) ) -> Nat.Nat (Nat.N n atLeastN (Nat.Is a Nat.To aPlusN) (Nat.Is b Nat.To bPlusN)) -> Nat.Nat (Nat.N sum atLeastSum (Nat.Is a Nat.To aPlusSum) (Nat.Is b Nat.To bPlusSum))"},{"name":"sub","comment":" The `Nat (N ...)` plus another `Nat (N ...)`. Give the subtracted value twice as a tuple.\n\n    nat6 |> NNat.sub ( nat5, nat5 )\n    --> Nat 1\n    --> : Nat\n    -->     (N Nat1 (Nat1Plus orMore_)\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.N subbed atLeastFirstSubbed_ (Nat.Is difference Nat.To n) (Nat.Is atLeastDifference Nat.To atLeastN)), Nat.Nat (Nat.N subbed atLeastSecondSubbed_ (Nat.Is aPlusDifference Nat.To aPlusN) (Nat.Is bPlusDifference Nat.To bPlusN)) ) -> Nat.Nat (Nat.N n atLeastN (Nat.Is a Nat.To aPlusN) (Nat.Is b Nat.To bPlusN)) -> Nat.Nat (Nat.N difference atLeastDifference (Nat.Is a Nat.To aPlusDifference) (Nat.Is b Nat.To bPlusDifference))"}],"binops":[]},{"name":"NNats","comment":" `Nat (N Nat0 ...)` to `Nat (N Nat160 ...)`.\n\nBigger `Nat (N ...)` s start to slow down compilation, so they are avoided.\n\nSee [`Nat.N`](Nat#N), [`Nat.N`](Nat#N) & [`NNat`](NNat) for an explanation.\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, nat17, nat18\n@docs nat19, nat2, nat20, nat21, nat22, nat23, nat24, nat25, nat26, nat27, nat28, nat29, nat3\n@docs nat30, nat31, nat32, nat33, nat34, nat35, nat36, nat37, nat38, nat39, nat4, nat40, nat41\n@docs nat42, nat43, nat44, nat45, nat46, nat47, nat48, nat49, nat5, nat50, nat51, nat52, nat53\n@docs nat54, nat55, nat56, nat57, nat58, nat59, nat6, nat60, nat61, nat62, nat63, nat64, nat65\n@docs nat66, nat67, nat68, nat69, nat7, nat70, nat71, nat72, nat73, nat74, nat75, nat76, nat77\n@docs nat78, nat79, nat8, nat80, nat81, nat82, nat83, nat84, nat85, nat86, nat87, nat88, nat89\n@docs nat9, nat90, nat91, nat92, nat93, nat94, nat95, nat96, nat97, nat98, nat99\n\n","unions":[],"aliases":[],"values":[{"name":"nat0","comment":" The exact `Nat` 0.\n","type":"I.Nat (I.N N.Nat0 more_ (I.Is a I.To a) (I.Is b I.To b))"},{"name":"nat1","comment":" The exact `Nat` 1.\n","type":"I.Nat (I.N N.Nat1 (N.Nat1Plus more_) (I.Is a I.To (N.Nat1Plus a)) (I.Is b I.To (N.Nat1Plus b)))"},{"name":"nat10","comment":" The exact `Nat` 10.\n","type":"I.Nat (I.N N.Nat10 (N.Nat10Plus more_) (I.Is a I.To (N.Nat10Plus a)) (I.Is b I.To (N.Nat10Plus b)))"},{"name":"nat100","comment":" The exact `Nat` 100.\n","type":"I.Nat (I.N N.Nat100 (N.Nat100Plus more_) (I.Is a I.To (N.Nat100Plus a)) (I.Is b I.To (N.Nat100Plus b)))"},{"name":"nat101","comment":" The exact `Nat` 101.\n","type":"I.Nat (I.N N.Nat101 (N.Nat101Plus more_) (I.Is a I.To (N.Nat101Plus a)) (I.Is b I.To (N.Nat101Plus b)))"},{"name":"nat102","comment":" The exact `Nat` 102.\n","type":"I.Nat (I.N N.Nat102 (N.Nat102Plus more_) (I.Is a I.To (N.Nat102Plus a)) (I.Is b I.To (N.Nat102Plus b)))"},{"name":"nat103","comment":" The exact `Nat` 103.\n","type":"I.Nat (I.N N.Nat103 (N.Nat103Plus more_) (I.Is a I.To (N.Nat103Plus a)) (I.Is b I.To (N.Nat103Plus b)))"},{"name":"nat104","comment":" The exact `Nat` 104.\n","type":"I.Nat (I.N N.Nat104 (N.Nat104Plus more_) (I.Is a I.To (N.Nat104Plus a)) (I.Is b I.To (N.Nat104Plus b)))"},{"name":"nat105","comment":" The exact `Nat` 105.\n","type":"I.Nat (I.N N.Nat105 (N.Nat105Plus more_) (I.Is a I.To (N.Nat105Plus a)) (I.Is b I.To (N.Nat105Plus b)))"},{"name":"nat106","comment":" The exact `Nat` 106.\n","type":"I.Nat (I.N N.Nat106 (N.Nat106Plus more_) (I.Is a I.To (N.Nat106Plus a)) (I.Is b I.To (N.Nat106Plus b)))"},{"name":"nat107","comment":" The exact `Nat` 107.\n","type":"I.Nat (I.N N.Nat107 (N.Nat107Plus more_) (I.Is a I.To (N.Nat107Plus a)) (I.Is b I.To (N.Nat107Plus b)))"},{"name":"nat108","comment":" The exact `Nat` 108.\n","type":"I.Nat (I.N N.Nat108 (N.Nat108Plus more_) (I.Is a I.To (N.Nat108Plus a)) (I.Is b I.To (N.Nat108Plus b)))"},{"name":"nat109","comment":" The exact `Nat` 109.\n","type":"I.Nat (I.N N.Nat109 (N.Nat109Plus more_) (I.Is a I.To (N.Nat109Plus a)) (I.Is b I.To (N.Nat109Plus b)))"},{"name":"nat11","comment":" The exact `Nat` 11.\n","type":"I.Nat (I.N N.Nat11 (N.Nat11Plus more_) (I.Is a I.To (N.Nat11Plus a)) (I.Is b I.To (N.Nat11Plus b)))"},{"name":"nat110","comment":" The exact `Nat` 110.\n","type":"I.Nat (I.N N.Nat110 (N.Nat110Plus more_) (I.Is a I.To (N.Nat110Plus a)) (I.Is b I.To (N.Nat110Plus b)))"},{"name":"nat111","comment":" The exact `Nat` 111.\n","type":"I.Nat (I.N N.Nat111 (N.Nat111Plus more_) (I.Is a I.To (N.Nat111Plus a)) (I.Is b I.To (N.Nat111Plus b)))"},{"name":"nat112","comment":" The exact `Nat` 112.\n","type":"I.Nat (I.N N.Nat112 (N.Nat112Plus more_) (I.Is a I.To (N.Nat112Plus a)) (I.Is b I.To (N.Nat112Plus b)))"},{"name":"nat113","comment":" The exact `Nat` 113.\n","type":"I.Nat (I.N N.Nat113 (N.Nat113Plus more_) (I.Is a I.To (N.Nat113Plus a)) (I.Is b I.To (N.Nat113Plus b)))"},{"name":"nat114","comment":" The exact `Nat` 114.\n","type":"I.Nat (I.N N.Nat114 (N.Nat114Plus more_) (I.Is a I.To (N.Nat114Plus a)) (I.Is b I.To (N.Nat114Plus b)))"},{"name":"nat115","comment":" The exact `Nat` 115.\n","type":"I.Nat (I.N N.Nat115 (N.Nat115Plus more_) (I.Is a I.To (N.Nat115Plus a)) (I.Is b I.To (N.Nat115Plus b)))"},{"name":"nat116","comment":" The exact `Nat` 116.\n","type":"I.Nat (I.N N.Nat116 (N.Nat116Plus more_) (I.Is a I.To (N.Nat116Plus a)) (I.Is b I.To (N.Nat116Plus b)))"},{"name":"nat117","comment":" The exact `Nat` 117.\n","type":"I.Nat (I.N N.Nat117 (N.Nat117Plus more_) (I.Is a I.To (N.Nat117Plus a)) (I.Is b I.To (N.Nat117Plus b)))"},{"name":"nat118","comment":" The exact `Nat` 118.\n","type":"I.Nat (I.N N.Nat118 (N.Nat118Plus more_) (I.Is a I.To (N.Nat118Plus a)) (I.Is b I.To (N.Nat118Plus b)))"},{"name":"nat119","comment":" The exact `Nat` 119.\n","type":"I.Nat (I.N N.Nat119 (N.Nat119Plus more_) (I.Is a I.To (N.Nat119Plus a)) (I.Is b I.To (N.Nat119Plus b)))"},{"name":"nat12","comment":" The exact `Nat` 12.\n","type":"I.Nat (I.N N.Nat12 (N.Nat12Plus more_) (I.Is a I.To (N.Nat12Plus a)) (I.Is b I.To (N.Nat12Plus b)))"},{"name":"nat120","comment":" The exact `Nat` 120.\n","type":"I.Nat (I.N N.Nat120 (N.Nat120Plus more_) (I.Is a I.To (N.Nat120Plus a)) (I.Is b I.To (N.Nat120Plus b)))"},{"name":"nat121","comment":" The exact `Nat` 121.\n","type":"I.Nat (I.N N.Nat121 (N.Nat121Plus more_) (I.Is a I.To (N.Nat121Plus a)) (I.Is b I.To (N.Nat121Plus b)))"},{"name":"nat122","comment":" The exact `Nat` 122.\n","type":"I.Nat (I.N N.Nat122 (N.Nat122Plus more_) (I.Is a I.To (N.Nat122Plus a)) (I.Is b I.To (N.Nat122Plus b)))"},{"name":"nat123","comment":" The exact `Nat` 123.\n","type":"I.Nat (I.N N.Nat123 (N.Nat123Plus more_) (I.Is a I.To (N.Nat123Plus a)) (I.Is b I.To (N.Nat123Plus b)))"},{"name":"nat124","comment":" The exact `Nat` 124.\n","type":"I.Nat (I.N N.Nat124 (N.Nat124Plus more_) (I.Is a I.To (N.Nat124Plus a)) (I.Is b I.To (N.Nat124Plus b)))"},{"name":"nat125","comment":" The exact `Nat` 125.\n","type":"I.Nat (I.N N.Nat125 (N.Nat125Plus more_) (I.Is a I.To (N.Nat125Plus a)) (I.Is b I.To (N.Nat125Plus b)))"},{"name":"nat126","comment":" The exact `Nat` 126.\n","type":"I.Nat (I.N N.Nat126 (N.Nat126Plus more_) (I.Is a I.To (N.Nat126Plus a)) (I.Is b I.To (N.Nat126Plus b)))"},{"name":"nat127","comment":" The exact `Nat` 127.\n","type":"I.Nat (I.N N.Nat127 (N.Nat127Plus more_) (I.Is a I.To (N.Nat127Plus a)) (I.Is b I.To (N.Nat127Plus b)))"},{"name":"nat128","comment":" The exact `Nat` 128.\n","type":"I.Nat (I.N N.Nat128 (N.Nat128Plus more_) (I.Is a I.To (N.Nat128Plus a)) (I.Is b I.To (N.Nat128Plus b)))"},{"name":"nat129","comment":" The exact `Nat` 129.\n","type":"I.Nat (I.N N.Nat129 (N.Nat129Plus more_) (I.Is a I.To (N.Nat129Plus a)) (I.Is b I.To (N.Nat129Plus b)))"},{"name":"nat13","comment":" The exact `Nat` 13.\n","type":"I.Nat (I.N N.Nat13 (N.Nat13Plus more_) (I.Is a I.To (N.Nat13Plus a)) (I.Is b I.To (N.Nat13Plus b)))"},{"name":"nat130","comment":" The exact `Nat` 130.\n","type":"I.Nat (I.N N.Nat130 (N.Nat130Plus more_) (I.Is a I.To (N.Nat130Plus a)) (I.Is b I.To (N.Nat130Plus b)))"},{"name":"nat131","comment":" The exact `Nat` 131.\n","type":"I.Nat (I.N N.Nat131 (N.Nat131Plus more_) (I.Is a I.To (N.Nat131Plus a)) (I.Is b I.To (N.Nat131Plus b)))"},{"name":"nat132","comment":" The exact `Nat` 132.\n","type":"I.Nat (I.N N.Nat132 (N.Nat132Plus more_) (I.Is a I.To (N.Nat132Plus a)) (I.Is b I.To (N.Nat132Plus b)))"},{"name":"nat133","comment":" The exact `Nat` 133.\n","type":"I.Nat (I.N N.Nat133 (N.Nat133Plus more_) (I.Is a I.To (N.Nat133Plus a)) (I.Is b I.To (N.Nat133Plus b)))"},{"name":"nat134","comment":" The exact `Nat` 134.\n","type":"I.Nat (I.N N.Nat134 (N.Nat134Plus more_) (I.Is a I.To (N.Nat134Plus a)) (I.Is b I.To (N.Nat134Plus b)))"},{"name":"nat135","comment":" The exact `Nat` 135.\n","type":"I.Nat (I.N N.Nat135 (N.Nat135Plus more_) (I.Is a I.To (N.Nat135Plus a)) (I.Is b I.To (N.Nat135Plus b)))"},{"name":"nat136","comment":" The exact `Nat` 136.\n","type":"I.Nat (I.N N.Nat136 (N.Nat136Plus more_) (I.Is a I.To (N.Nat136Plus a)) (I.Is b I.To (N.Nat136Plus b)))"},{"name":"nat137","comment":" The exact `Nat` 137.\n","type":"I.Nat (I.N N.Nat137 (N.Nat137Plus more_) (I.Is a I.To (N.Nat137Plus a)) (I.Is b I.To (N.Nat137Plus b)))"},{"name":"nat138","comment":" The exact `Nat` 138.\n","type":"I.Nat (I.N N.Nat138 (N.Nat138Plus more_) (I.Is a I.To (N.Nat138Plus a)) (I.Is b I.To (N.Nat138Plus b)))"},{"name":"nat139","comment":" The exact `Nat` 139.\n","type":"I.Nat (I.N N.Nat139 (N.Nat139Plus more_) (I.Is a I.To (N.Nat139Plus a)) (I.Is b I.To (N.Nat139Plus b)))"},{"name":"nat14","comment":" The exact `Nat` 14.\n","type":"I.Nat (I.N N.Nat14 (N.Nat14Plus more_) (I.Is a I.To (N.Nat14Plus a)) (I.Is b I.To (N.Nat14Plus b)))"},{"name":"nat140","comment":" The exact `Nat` 140.\n","type":"I.Nat (I.N N.Nat140 (N.Nat140Plus more_) (I.Is a I.To (N.Nat140Plus a)) (I.Is b I.To (N.Nat140Plus b)))"},{"name":"nat141","comment":" The exact `Nat` 141.\n","type":"I.Nat (I.N N.Nat141 (N.Nat141Plus more_) (I.Is a I.To (N.Nat141Plus a)) (I.Is b I.To (N.Nat141Plus b)))"},{"name":"nat142","comment":" The exact `Nat` 142.\n","type":"I.Nat (I.N N.Nat142 (N.Nat142Plus more_) (I.Is a I.To (N.Nat142Plus a)) (I.Is b I.To (N.Nat142Plus b)))"},{"name":"nat143","comment":" The exact `Nat` 143.\n","type":"I.Nat (I.N N.Nat143 (N.Nat143Plus more_) (I.Is a I.To (N.Nat143Plus a)) (I.Is b I.To (N.Nat143Plus b)))"},{"name":"nat144","comment":" The exact `Nat` 144.\n","type":"I.Nat (I.N N.Nat144 (N.Nat144Plus more_) (I.Is a I.To (N.Nat144Plus a)) (I.Is b I.To (N.Nat144Plus b)))"},{"name":"nat145","comment":" The exact `Nat` 145.\n","type":"I.Nat (I.N N.Nat145 (N.Nat145Plus more_) (I.Is a I.To (N.Nat145Plus a)) (I.Is b I.To (N.Nat145Plus b)))"},{"name":"nat146","comment":" The exact `Nat` 146.\n","type":"I.Nat (I.N N.Nat146 (N.Nat146Plus more_) (I.Is a I.To (N.Nat146Plus a)) (I.Is b I.To (N.Nat146Plus b)))"},{"name":"nat147","comment":" The exact `Nat` 147.\n","type":"I.Nat (I.N N.Nat147 (N.Nat147Plus more_) (I.Is a I.To (N.Nat147Plus a)) (I.Is b I.To (N.Nat147Plus b)))"},{"name":"nat148","comment":" The exact `Nat` 148.\n","type":"I.Nat (I.N N.Nat148 (N.Nat148Plus more_) (I.Is a I.To (N.Nat148Plus a)) (I.Is b I.To (N.Nat148Plus b)))"},{"name":"nat149","comment":" The exact `Nat` 149.\n","type":"I.Nat (I.N N.Nat149 (N.Nat149Plus more_) (I.Is a I.To (N.Nat149Plus a)) (I.Is b I.To (N.Nat149Plus b)))"},{"name":"nat15","comment":" The exact `Nat` 15.\n","type":"I.Nat (I.N N.Nat15 (N.Nat15Plus more_) (I.Is a I.To (N.Nat15Plus a)) (I.Is b I.To (N.Nat15Plus b)))"},{"name":"nat150","comment":" The exact `Nat` 150.\n","type":"I.Nat (I.N N.Nat150 (N.Nat150Plus more_) (I.Is a I.To (N.Nat150Plus a)) (I.Is b I.To (N.Nat150Plus b)))"},{"name":"nat151","comment":" The exact `Nat` 151.\n","type":"I.Nat (I.N N.Nat151 (N.Nat151Plus more_) (I.Is a I.To (N.Nat151Plus a)) (I.Is b I.To (N.Nat151Plus b)))"},{"name":"nat152","comment":" The exact `Nat` 152.\n","type":"I.Nat (I.N N.Nat152 (N.Nat152Plus more_) (I.Is a I.To (N.Nat152Plus a)) (I.Is b I.To (N.Nat152Plus b)))"},{"name":"nat153","comment":" The exact `Nat` 153.\n","type":"I.Nat (I.N N.Nat153 (N.Nat153Plus more_) (I.Is a I.To (N.Nat153Plus a)) (I.Is b I.To (N.Nat153Plus b)))"},{"name":"nat154","comment":" The exact `Nat` 154.\n","type":"I.Nat (I.N N.Nat154 (N.Nat154Plus more_) (I.Is a I.To (N.Nat154Plus a)) (I.Is b I.To (N.Nat154Plus b)))"},{"name":"nat155","comment":" The exact `Nat` 155.\n","type":"I.Nat (I.N N.Nat155 (N.Nat155Plus more_) (I.Is a I.To (N.Nat155Plus a)) (I.Is b I.To (N.Nat155Plus b)))"},{"name":"nat156","comment":" The exact `Nat` 156.\n","type":"I.Nat (I.N N.Nat156 (N.Nat156Plus more_) (I.Is a I.To (N.Nat156Plus a)) (I.Is b I.To (N.Nat156Plus b)))"},{"name":"nat157","comment":" The exact `Nat` 157.\n","type":"I.Nat (I.N N.Nat157 (N.Nat157Plus more_) (I.Is a I.To (N.Nat157Plus a)) (I.Is b I.To (N.Nat157Plus b)))"},{"name":"nat158","comment":" The exact `Nat` 158.\n","type":"I.Nat (I.N N.Nat158 (N.Nat158Plus more_) (I.Is a I.To (N.Nat158Plus a)) (I.Is b I.To (N.Nat158Plus b)))"},{"name":"nat159","comment":" The exact `Nat` 159.\n","type":"I.Nat (I.N N.Nat159 (N.Nat159Plus more_) (I.Is a I.To (N.Nat159Plus a)) (I.Is b I.To (N.Nat159Plus b)))"},{"name":"nat16","comment":" The exact `Nat` 16.\n","type":"I.Nat (I.N N.Nat16 (N.Nat16Plus more_) (I.Is a I.To (N.Nat16Plus a)) (I.Is b I.To (N.Nat16Plus b)))"},{"name":"nat160","comment":" The exact `Nat` 160.\n","type":"I.Nat (I.N N.Nat160 (N.Nat160Plus more_) (I.Is a I.To (N.Nat160Plus a)) (I.Is b I.To (N.Nat160Plus b)))"},{"name":"nat17","comment":" The exact `Nat` 17.\n","type":"I.Nat (I.N N.Nat17 (N.Nat17Plus more_) (I.Is a I.To (N.Nat17Plus a)) (I.Is b I.To (N.Nat17Plus b)))"},{"name":"nat18","comment":" The exact `Nat` 18.\n","type":"I.Nat (I.N N.Nat18 (N.Nat18Plus more_) (I.Is a I.To (N.Nat18Plus a)) (I.Is b I.To (N.Nat18Plus b)))"},{"name":"nat19","comment":" The exact `Nat` 19.\n","type":"I.Nat (I.N N.Nat19 (N.Nat19Plus more_) (I.Is a I.To (N.Nat19Plus a)) (I.Is b I.To (N.Nat19Plus b)))"},{"name":"nat2","comment":" The exact `Nat` 2.\n","type":"I.Nat (I.N N.Nat2 (N.Nat2Plus more_) (I.Is a I.To (N.Nat2Plus a)) (I.Is b I.To (N.Nat2Plus b)))"},{"name":"nat20","comment":" The exact `Nat` 20.\n","type":"I.Nat (I.N N.Nat20 (N.Nat20Plus more_) (I.Is a I.To (N.Nat20Plus a)) (I.Is b I.To (N.Nat20Plus b)))"},{"name":"nat21","comment":" The exact `Nat` 21.\n","type":"I.Nat (I.N N.Nat21 (N.Nat21Plus more_) (I.Is a I.To (N.Nat21Plus a)) (I.Is b I.To (N.Nat21Plus b)))"},{"name":"nat22","comment":" The exact `Nat` 22.\n","type":"I.Nat (I.N N.Nat22 (N.Nat22Plus more_) (I.Is a I.To (N.Nat22Plus a)) (I.Is b I.To (N.Nat22Plus b)))"},{"name":"nat23","comment":" The exact `Nat` 23.\n","type":"I.Nat (I.N N.Nat23 (N.Nat23Plus more_) (I.Is a I.To (N.Nat23Plus a)) (I.Is b I.To (N.Nat23Plus b)))"},{"name":"nat24","comment":" The exact `Nat` 24.\n","type":"I.Nat (I.N N.Nat24 (N.Nat24Plus more_) (I.Is a I.To (N.Nat24Plus a)) (I.Is b I.To (N.Nat24Plus b)))"},{"name":"nat25","comment":" The exact `Nat` 25.\n","type":"I.Nat (I.N N.Nat25 (N.Nat25Plus more_) (I.Is a I.To (N.Nat25Plus a)) (I.Is b I.To (N.Nat25Plus b)))"},{"name":"nat26","comment":" The exact `Nat` 26.\n","type":"I.Nat (I.N N.Nat26 (N.Nat26Plus more_) (I.Is a I.To (N.Nat26Plus a)) (I.Is b I.To (N.Nat26Plus b)))"},{"name":"nat27","comment":" The exact `Nat` 27.\n","type":"I.Nat (I.N N.Nat27 (N.Nat27Plus more_) (I.Is a I.To (N.Nat27Plus a)) (I.Is b I.To (N.Nat27Plus b)))"},{"name":"nat28","comment":" The exact `Nat` 28.\n","type":"I.Nat (I.N N.Nat28 (N.Nat28Plus more_) (I.Is a I.To (N.Nat28Plus a)) (I.Is b I.To (N.Nat28Plus b)))"},{"name":"nat29","comment":" The exact `Nat` 29.\n","type":"I.Nat (I.N N.Nat29 (N.Nat29Plus more_) (I.Is a I.To (N.Nat29Plus a)) (I.Is b I.To (N.Nat29Plus b)))"},{"name":"nat3","comment":" The exact `Nat` 3.\n","type":"I.Nat (I.N N.Nat3 (N.Nat3Plus more_) (I.Is a I.To (N.Nat3Plus a)) (I.Is b I.To (N.Nat3Plus b)))"},{"name":"nat30","comment":" The exact `Nat` 30.\n","type":"I.Nat (I.N N.Nat30 (N.Nat30Plus more_) (I.Is a I.To (N.Nat30Plus a)) (I.Is b I.To (N.Nat30Plus b)))"},{"name":"nat31","comment":" The exact `Nat` 31.\n","type":"I.Nat (I.N N.Nat31 (N.Nat31Plus more_) (I.Is a I.To (N.Nat31Plus a)) (I.Is b I.To (N.Nat31Plus b)))"},{"name":"nat32","comment":" The exact `Nat` 32.\n","type":"I.Nat (I.N N.Nat32 (N.Nat32Plus more_) (I.Is a I.To (N.Nat32Plus a)) (I.Is b I.To (N.Nat32Plus b)))"},{"name":"nat33","comment":" The exact `Nat` 33.\n","type":"I.Nat (I.N N.Nat33 (N.Nat33Plus more_) (I.Is a I.To (N.Nat33Plus a)) (I.Is b I.To (N.Nat33Plus b)))"},{"name":"nat34","comment":" The exact `Nat` 34.\n","type":"I.Nat (I.N N.Nat34 (N.Nat34Plus more_) (I.Is a I.To (N.Nat34Plus a)) (I.Is b I.To (N.Nat34Plus b)))"},{"name":"nat35","comment":" The exact `Nat` 35.\n","type":"I.Nat (I.N N.Nat35 (N.Nat35Plus more_) (I.Is a I.To (N.Nat35Plus a)) (I.Is b I.To (N.Nat35Plus b)))"},{"name":"nat36","comment":" The exact `Nat` 36.\n","type":"I.Nat (I.N N.Nat36 (N.Nat36Plus more_) (I.Is a I.To (N.Nat36Plus a)) (I.Is b I.To (N.Nat36Plus b)))"},{"name":"nat37","comment":" The exact `Nat` 37.\n","type":"I.Nat (I.N N.Nat37 (N.Nat37Plus more_) (I.Is a I.To (N.Nat37Plus a)) (I.Is b I.To (N.Nat37Plus b)))"},{"name":"nat38","comment":" The exact `Nat` 38.\n","type":"I.Nat (I.N N.Nat38 (N.Nat38Plus more_) (I.Is a I.To (N.Nat38Plus a)) (I.Is b I.To (N.Nat38Plus b)))"},{"name":"nat39","comment":" The exact `Nat` 39.\n","type":"I.Nat (I.N N.Nat39 (N.Nat39Plus more_) (I.Is a I.To (N.Nat39Plus a)) (I.Is b I.To (N.Nat39Plus b)))"},{"name":"nat4","comment":" The exact `Nat` 4.\n","type":"I.Nat (I.N N.Nat4 (N.Nat4Plus more_) (I.Is a I.To (N.Nat4Plus a)) (I.Is b I.To (N.Nat4Plus b)))"},{"name":"nat40","comment":" The exact `Nat` 40.\n","type":"I.Nat (I.N N.Nat40 (N.Nat40Plus more_) (I.Is a I.To (N.Nat40Plus a)) (I.Is b I.To (N.Nat40Plus b)))"},{"name":"nat41","comment":" The exact `Nat` 41.\n","type":"I.Nat (I.N N.Nat41 (N.Nat41Plus more_) (I.Is a I.To (N.Nat41Plus a)) (I.Is b I.To (N.Nat41Plus b)))"},{"name":"nat42","comment":" The exact `Nat` 42.\n","type":"I.Nat (I.N N.Nat42 (N.Nat42Plus more_) (I.Is a I.To (N.Nat42Plus a)) (I.Is b I.To (N.Nat42Plus b)))"},{"name":"nat43","comment":" The exact `Nat` 43.\n","type":"I.Nat (I.N N.Nat43 (N.Nat43Plus more_) (I.Is a I.To (N.Nat43Plus a)) (I.Is b I.To (N.Nat43Plus b)))"},{"name":"nat44","comment":" The exact `Nat` 44.\n","type":"I.Nat (I.N N.Nat44 (N.Nat44Plus more_) (I.Is a I.To (N.Nat44Plus a)) (I.Is b I.To (N.Nat44Plus b)))"},{"name":"nat45","comment":" The exact `Nat` 45.\n","type":"I.Nat (I.N N.Nat45 (N.Nat45Plus more_) (I.Is a I.To (N.Nat45Plus a)) (I.Is b I.To (N.Nat45Plus b)))"},{"name":"nat46","comment":" The exact `Nat` 46.\n","type":"I.Nat (I.N N.Nat46 (N.Nat46Plus more_) (I.Is a I.To (N.Nat46Plus a)) (I.Is b I.To (N.Nat46Plus b)))"},{"name":"nat47","comment":" The exact `Nat` 47.\n","type":"I.Nat (I.N N.Nat47 (N.Nat47Plus more_) (I.Is a I.To (N.Nat47Plus a)) (I.Is b I.To (N.Nat47Plus b)))"},{"name":"nat48","comment":" The exact `Nat` 48.\n","type":"I.Nat (I.N N.Nat48 (N.Nat48Plus more_) (I.Is a I.To (N.Nat48Plus a)) (I.Is b I.To (N.Nat48Plus b)))"},{"name":"nat49","comment":" The exact `Nat` 49.\n","type":"I.Nat (I.N N.Nat49 (N.Nat49Plus more_) (I.Is a I.To (N.Nat49Plus a)) (I.Is b I.To (N.Nat49Plus b)))"},{"name":"nat5","comment":" The exact `Nat` 5.\n","type":"I.Nat (I.N N.Nat5 (N.Nat5Plus more_) (I.Is a I.To (N.Nat5Plus a)) (I.Is b I.To (N.Nat5Plus b)))"},{"name":"nat50","comment":" The exact `Nat` 50.\n","type":"I.Nat (I.N N.Nat50 (N.Nat50Plus more_) (I.Is a I.To (N.Nat50Plus a)) (I.Is b I.To (N.Nat50Plus b)))"},{"name":"nat51","comment":" The exact `Nat` 51.\n","type":"I.Nat (I.N N.Nat51 (N.Nat51Plus more_) (I.Is a I.To (N.Nat51Plus a)) (I.Is b I.To (N.Nat51Plus b)))"},{"name":"nat52","comment":" The exact `Nat` 52.\n","type":"I.Nat (I.N N.Nat52 (N.Nat52Plus more_) (I.Is a I.To (N.Nat52Plus a)) (I.Is b I.To (N.Nat52Plus b)))"},{"name":"nat53","comment":" The exact `Nat` 53.\n","type":"I.Nat (I.N N.Nat53 (N.Nat53Plus more_) (I.Is a I.To (N.Nat53Plus a)) (I.Is b I.To (N.Nat53Plus b)))"},{"name":"nat54","comment":" The exact `Nat` 54.\n","type":"I.Nat (I.N N.Nat54 (N.Nat54Plus more_) (I.Is a I.To (N.Nat54Plus a)) (I.Is b I.To (N.Nat54Plus b)))"},{"name":"nat55","comment":" The exact `Nat` 55.\n","type":"I.Nat (I.N N.Nat55 (N.Nat55Plus more_) (I.Is a I.To (N.Nat55Plus a)) (I.Is b I.To (N.Nat55Plus b)))"},{"name":"nat56","comment":" The exact `Nat` 56.\n","type":"I.Nat (I.N N.Nat56 (N.Nat56Plus more_) (I.Is a I.To (N.Nat56Plus a)) (I.Is b I.To (N.Nat56Plus b)))"},{"name":"nat57","comment":" The exact `Nat` 57.\n","type":"I.Nat (I.N N.Nat57 (N.Nat57Plus more_) (I.Is a I.To (N.Nat57Plus a)) (I.Is b I.To (N.Nat57Plus b)))"},{"name":"nat58","comment":" The exact `Nat` 58.\n","type":"I.Nat (I.N N.Nat58 (N.Nat58Plus more_) (I.Is a I.To (N.Nat58Plus a)) (I.Is b I.To (N.Nat58Plus b)))"},{"name":"nat59","comment":" The exact `Nat` 59.\n","type":"I.Nat (I.N N.Nat59 (N.Nat59Plus more_) (I.Is a I.To (N.Nat59Plus a)) (I.Is b I.To (N.Nat59Plus b)))"},{"name":"nat6","comment":" The exact `Nat` 6.\n","type":"I.Nat (I.N N.Nat6 (N.Nat6Plus more_) (I.Is a I.To (N.Nat6Plus a)) (I.Is b I.To (N.Nat6Plus b)))"},{"name":"nat60","comment":" The exact `Nat` 60.\n","type":"I.Nat (I.N N.Nat60 (N.Nat60Plus more_) (I.Is a I.To (N.Nat60Plus a)) (I.Is b I.To (N.Nat60Plus b)))"},{"name":"nat61","comment":" The exact `Nat` 61.\n","type":"I.Nat (I.N N.Nat61 (N.Nat61Plus more_) (I.Is a I.To (N.Nat61Plus a)) (I.Is b I.To (N.Nat61Plus b)))"},{"name":"nat62","comment":" The exact `Nat` 62.\n","type":"I.Nat (I.N N.Nat62 (N.Nat62Plus more_) (I.Is a I.To (N.Nat62Plus a)) (I.Is b I.To (N.Nat62Plus b)))"},{"name":"nat63","comment":" The exact `Nat` 63.\n","type":"I.Nat (I.N N.Nat63 (N.Nat63Plus more_) (I.Is a I.To (N.Nat63Plus a)) (I.Is b I.To (N.Nat63Plus b)))"},{"name":"nat64","comment":" The exact `Nat` 64.\n","type":"I.Nat (I.N N.Nat64 (N.Nat64Plus more_) (I.Is a I.To (N.Nat64Plus a)) (I.Is b I.To (N.Nat64Plus b)))"},{"name":"nat65","comment":" The exact `Nat` 65.\n","type":"I.Nat (I.N N.Nat65 (N.Nat65Plus more_) (I.Is a I.To (N.Nat65Plus a)) (I.Is b I.To (N.Nat65Plus b)))"},{"name":"nat66","comment":" The exact `Nat` 66.\n","type":"I.Nat (I.N N.Nat66 (N.Nat66Plus more_) (I.Is a I.To (N.Nat66Plus a)) (I.Is b I.To (N.Nat66Plus b)))"},{"name":"nat67","comment":" The exact `Nat` 67.\n","type":"I.Nat (I.N N.Nat67 (N.Nat67Plus more_) (I.Is a I.To (N.Nat67Plus a)) (I.Is b I.To (N.Nat67Plus b)))"},{"name":"nat68","comment":" The exact `Nat` 68.\n","type":"I.Nat (I.N N.Nat68 (N.Nat68Plus more_) (I.Is a I.To (N.Nat68Plus a)) (I.Is b I.To (N.Nat68Plus b)))"},{"name":"nat69","comment":" The exact `Nat` 69.\n","type":"I.Nat (I.N N.Nat69 (N.Nat69Plus more_) (I.Is a I.To (N.Nat69Plus a)) (I.Is b I.To (N.Nat69Plus b)))"},{"name":"nat7","comment":" The exact `Nat` 7.\n","type":"I.Nat (I.N N.Nat7 (N.Nat7Plus more_) (I.Is a I.To (N.Nat7Plus a)) (I.Is b I.To (N.Nat7Plus b)))"},{"name":"nat70","comment":" The exact `Nat` 70.\n","type":"I.Nat (I.N N.Nat70 (N.Nat70Plus more_) (I.Is a I.To (N.Nat70Plus a)) (I.Is b I.To (N.Nat70Plus b)))"},{"name":"nat71","comment":" The exact `Nat` 71.\n","type":"I.Nat (I.N N.Nat71 (N.Nat71Plus more_) (I.Is a I.To (N.Nat71Plus a)) (I.Is b I.To (N.Nat71Plus b)))"},{"name":"nat72","comment":" The exact `Nat` 72.\n","type":"I.Nat (I.N N.Nat72 (N.Nat72Plus more_) (I.Is a I.To (N.Nat72Plus a)) (I.Is b I.To (N.Nat72Plus b)))"},{"name":"nat73","comment":" The exact `Nat` 73.\n","type":"I.Nat (I.N N.Nat73 (N.Nat73Plus more_) (I.Is a I.To (N.Nat73Plus a)) (I.Is b I.To (N.Nat73Plus b)))"},{"name":"nat74","comment":" The exact `Nat` 74.\n","type":"I.Nat (I.N N.Nat74 (N.Nat74Plus more_) (I.Is a I.To (N.Nat74Plus a)) (I.Is b I.To (N.Nat74Plus b)))"},{"name":"nat75","comment":" The exact `Nat` 75.\n","type":"I.Nat (I.N N.Nat75 (N.Nat75Plus more_) (I.Is a I.To (N.Nat75Plus a)) (I.Is b I.To (N.Nat75Plus b)))"},{"name":"nat76","comment":" The exact `Nat` 76.\n","type":"I.Nat (I.N N.Nat76 (N.Nat76Plus more_) (I.Is a I.To (N.Nat76Plus a)) (I.Is b I.To (N.Nat76Plus b)))"},{"name":"nat77","comment":" The exact `Nat` 77.\n","type":"I.Nat (I.N N.Nat77 (N.Nat77Plus more_) (I.Is a I.To (N.Nat77Plus a)) (I.Is b I.To (N.Nat77Plus b)))"},{"name":"nat78","comment":" The exact `Nat` 78.\n","type":"I.Nat (I.N N.Nat78 (N.Nat78Plus more_) (I.Is a I.To (N.Nat78Plus a)) (I.Is b I.To (N.Nat78Plus b)))"},{"name":"nat79","comment":" The exact `Nat` 79.\n","type":"I.Nat (I.N N.Nat79 (N.Nat79Plus more_) (I.Is a I.To (N.Nat79Plus a)) (I.Is b I.To (N.Nat79Plus b)))"},{"name":"nat8","comment":" The exact `Nat` 8.\n","type":"I.Nat (I.N N.Nat8 (N.Nat8Plus more_) (I.Is a I.To (N.Nat8Plus a)) (I.Is b I.To (N.Nat8Plus b)))"},{"name":"nat80","comment":" The exact `Nat` 80.\n","type":"I.Nat (I.N N.Nat80 (N.Nat80Plus more_) (I.Is a I.To (N.Nat80Plus a)) (I.Is b I.To (N.Nat80Plus b)))"},{"name":"nat81","comment":" The exact `Nat` 81.\n","type":"I.Nat (I.N N.Nat81 (N.Nat81Plus more_) (I.Is a I.To (N.Nat81Plus a)) (I.Is b I.To (N.Nat81Plus b)))"},{"name":"nat82","comment":" The exact `Nat` 82.\n","type":"I.Nat (I.N N.Nat82 (N.Nat82Plus more_) (I.Is a I.To (N.Nat82Plus a)) (I.Is b I.To (N.Nat82Plus b)))"},{"name":"nat83","comment":" The exact `Nat` 83.\n","type":"I.Nat (I.N N.Nat83 (N.Nat83Plus more_) (I.Is a I.To (N.Nat83Plus a)) (I.Is b I.To (N.Nat83Plus b)))"},{"name":"nat84","comment":" The exact `Nat` 84.\n","type":"I.Nat (I.N N.Nat84 (N.Nat84Plus more_) (I.Is a I.To (N.Nat84Plus a)) (I.Is b I.To (N.Nat84Plus b)))"},{"name":"nat85","comment":" The exact `Nat` 85.\n","type":"I.Nat (I.N N.Nat85 (N.Nat85Plus more_) (I.Is a I.To (N.Nat85Plus a)) (I.Is b I.To (N.Nat85Plus b)))"},{"name":"nat86","comment":" The exact `Nat` 86.\n","type":"I.Nat (I.N N.Nat86 (N.Nat86Plus more_) (I.Is a I.To (N.Nat86Plus a)) (I.Is b I.To (N.Nat86Plus b)))"},{"name":"nat87","comment":" The exact `Nat` 87.\n","type":"I.Nat (I.N N.Nat87 (N.Nat87Plus more_) (I.Is a I.To (N.Nat87Plus a)) (I.Is b I.To (N.Nat87Plus b)))"},{"name":"nat88","comment":" The exact `Nat` 88.\n","type":"I.Nat (I.N N.Nat88 (N.Nat88Plus more_) (I.Is a I.To (N.Nat88Plus a)) (I.Is b I.To (N.Nat88Plus b)))"},{"name":"nat89","comment":" The exact `Nat` 89.\n","type":"I.Nat (I.N N.Nat89 (N.Nat89Plus more_) (I.Is a I.To (N.Nat89Plus a)) (I.Is b I.To (N.Nat89Plus b)))"},{"name":"nat9","comment":" The exact `Nat` 9.\n","type":"I.Nat (I.N N.Nat9 (N.Nat9Plus more_) (I.Is a I.To (N.Nat9Plus a)) (I.Is b I.To (N.Nat9Plus b)))"},{"name":"nat90","comment":" The exact `Nat` 90.\n","type":"I.Nat (I.N N.Nat90 (N.Nat90Plus more_) (I.Is a I.To (N.Nat90Plus a)) (I.Is b I.To (N.Nat90Plus b)))"},{"name":"nat91","comment":" The exact `Nat` 91.\n","type":"I.Nat (I.N N.Nat91 (N.Nat91Plus more_) (I.Is a I.To (N.Nat91Plus a)) (I.Is b I.To (N.Nat91Plus b)))"},{"name":"nat92","comment":" The exact `Nat` 92.\n","type":"I.Nat (I.N N.Nat92 (N.Nat92Plus more_) (I.Is a I.To (N.Nat92Plus a)) (I.Is b I.To (N.Nat92Plus b)))"},{"name":"nat93","comment":" The exact `Nat` 93.\n","type":"I.Nat (I.N N.Nat93 (N.Nat93Plus more_) (I.Is a I.To (N.Nat93Plus a)) (I.Is b I.To (N.Nat93Plus b)))"},{"name":"nat94","comment":" The exact `Nat` 94.\n","type":"I.Nat (I.N N.Nat94 (N.Nat94Plus more_) (I.Is a I.To (N.Nat94Plus a)) (I.Is b I.To (N.Nat94Plus b)))"},{"name":"nat95","comment":" The exact `Nat` 95.\n","type":"I.Nat (I.N N.Nat95 (N.Nat95Plus more_) (I.Is a I.To (N.Nat95Plus a)) (I.Is b I.To (N.Nat95Plus b)))"},{"name":"nat96","comment":" The exact `Nat` 96.\n","type":"I.Nat (I.N N.Nat96 (N.Nat96Plus more_) (I.Is a I.To (N.Nat96Plus a)) (I.Is b I.To (N.Nat96Plus b)))"},{"name":"nat97","comment":" The exact `Nat` 97.\n","type":"I.Nat (I.N N.Nat97 (N.Nat97Plus more_) (I.Is a I.To (N.Nat97Plus a)) (I.Is b I.To (N.Nat97Plus b)))"},{"name":"nat98","comment":" The exact `Nat` 98.\n","type":"I.Nat (I.N N.Nat98 (N.Nat98Plus more_) (I.Is a I.To (N.Nat98Plus a)) (I.Is b I.To (N.Nat98Plus b)))"},{"name":"nat99","comment":" The exact `Nat` 99.\n","type":"I.Nat (I.N N.Nat99 (N.Nat99Plus more_) (I.Is a I.To (N.Nat99Plus a)) (I.Is b I.To (N.Nat99Plus b)))"}],"binops":[]},{"name":"Nat","comment":"\n\n@docs Nat\n\n\n# bounds\n\n\n## value / return type\n\n@docs Min, In, Only\n\n\n### n\n\n@docs N, Is, To\n\n\n## argument-only types\n\n@docs ArgIn\n\n\n# create\n\n@docs abs, range, random\n\n\n## clamp\n\n@docs intAtLeast, intInRange, atMost\n\n\n## compare\n\n@docs isIntInRange, isIntAtLeast, theGreater, theSmaller\n\n\n### comparison result\n\n@docs AtMostOrAbove, BelowOrAtLeast, BelowOrInOrAboveRange, LessOrEqualOrGreater\n\n\n# modify\n\n@docs toPower, remainderBy, mul, div\n\n\n# drop information\n\n@docs lowerMin\n\n\n# restore information\n\n@docs restoreMax\n\n","unions":[{"name":"AtMostOrAbove","comment":" The result of comparing a `Nat` to another `Nat`.\n\n  - `EqualOrLess`: <= that `Nat`\n\n  - `Above`: > that `Nat`\n\nValues exist for each condition.\n\n","args":["equalOrLess","above"],"cases":[["EqualOrLess",["equalOrLess"]],["Above",["above"]]]},{"name":"BelowOrAtLeast","comment":" The result of comparing a `Nat` to another `Nat`.\n\n  - `EqualOrGreater`: >= that `Nat`\n\n  - `Below`: < that `Nat`\n\nValues exist for each condition.\n\n","args":["below","equalOrGreater"],"cases":[["Below",["below"]],["EqualOrGreater",["equalOrGreater"]]]},{"name":"BelowOrInOrAboveRange","comment":" The result of comparing a `Nat` to a range from a lower to an upper bound.\n\n  - `InRange`\n\n  - `AboveRange`: greater than the upper bound\n\n  - `BelowRange`: less than the lower bound?\n\nValues exist for each condition.\n\n","args":["below","inRange","above"],"cases":[["BelowRange",["below"]],["InRange",["inRange"]],["AboveRange",["above"]]]},{"name":"LessOrEqualOrGreater","comment":" The result of comparing a `Nat` to another `Nat`.\n\n  - `Equal` to that `Nat`\n\n  - `Less` than that `Nat`\n\n  - `Greater` than that `Nat`\n\nValues exist for each condition.\n\n","args":["less","equal","greater"],"cases":[["Less",["less"]],["Equal",["equal"]],["Greater",["greater"]]]}],"aliases":[{"name":"ArgIn","comment":" `ArgIn minimum maximum ifN_`: An argument somewhere within a `minimum` & `maximum`.\n\n       ↓ minimum   ↓ maximum\n    ⨯ [✓ ✓ ✓ ✓ ✓ ✓ ✓] ⨯ ⨯ ⨯...\n\nNote: `max` >= `min` for every existing `Nat (ArgIn min max ...)`:\n\n    percent : Nat (ArgIn min_ Nat100 ifN_) -> 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 (ArgIn min_ max_ ifN_)\n\nA number, at least 5:\n\n    Nat (ArgIn (Nat5Plus minMinus5_) max_ ifN_)\n\n  - `max_` could be a maximum value if there is one\n\n  - `ifN_` could contain extra information if the argument is a `Nat (N ...)`\n\n","args":["minimum","maximum","ifN_"],"type":"I.ArgIn minimum maximum ifN_"},{"name":"In","comment":" `In minimum maximum`: A value somewhere within a `minimum` & `maximum`. We don't know the exact value, though.\n\n       ↓ minimum   ↓ maximum\n    ⨯ [✓ ✓ ✓ ✓ ✓ ✓ ✓] ⨯ ⨯ ⨯...\n\nDo **not** use it as an argument type.\n\nA number between 3 and 5\n\n    Nat (In Nat3 (Nat5Plus a_))\n\n","args":["minimum","maximum"],"type":"Nat.ArgIn minimum maximum I.NotN"},{"name":"Is","comment":" `Is a To b`: an exact value as the diffference `b - a`.\n\n    N Nat5\n        (Nat5Plus a_)\n        (Is myAge To sistersAge)\n        (Is mothersAge To fathersAge)\n\n  - `myAge + 5 = sistersAge`\n  - `mothersAge + 5 = fathersAge`\n\n","args":["a","to","b"],"type":"I.Is a to b"},{"name":"Min","comment":" Only **value / return types should be `Min`**.\n\nSometimes, you simply cannot compute a maximum.\n\n    abs : Int -> Nat (In Nat0 ??)\n\nThis is where to use `Min`.\n\n    abs : Int -> Nat (Min Nat0)\n\nA number >= 5 for example:\n\n    Nat (Min Nat5)\n\nEvery `Min min` is of type `In min`.\n\n","args":["minimum"],"type":"Nat.In minimum I.Infinity"},{"name":"N","comment":" The most detailed description of an exact value.\n\n[`InNat.add`](InNat#add) for example uses this knowledg to describe the number as differences between other type variables.\n\n    add :\n        Nat\n            (N\n                added_\n                atLeastAdded_\n                (Is min To sumMin)\n                (Is max To sumMax)\n            )\n        -> Nat (ArgIn min max ifN_)\n        -> Nat (In sumMin sumMax)\n\nYou can just ignore the second difference if you don't need it ([`MinNat.add`](MinNat#add)).\n\n    add :\n        Nat\n            (N\n                added_\n                atLeastAdded_\n                (Is min To sumMin)\n                is_\n            )\n        -> Nat (ArgIn min max_ ifN_)\n        -> Nat (Min sumMin)\n\n","args":["n","atLeastN","asADifference","asAnotherDifference"],"type":"Nat.ArgIn n atLeastN (I.Differences asADifference asAnotherDifference)"},{"name":"Nat","comment":" A **bounded** natural number (`>= 0`).\n\n\n### argument-only type\n\n    -- >= 4\n    Nat (ArgIn (Nat4Plus minMinus4) max ifN_)\n\n    -- 4 <= nat <= 15\n    Nat (ArgIn (Nat4Plus minMinus4) Nat15 ifN_)\n\n    -- any, just >= 0\n    Nat range\n\n\n### value types\n\n    -- >= 4\n    Nat (Min Nat4)\n\n    -- 2 <= nat <= 12\n    Nat (In Nat2 (Nat12Plus a_))\n\n\n### storage types\n\nLike what to store in the `Model` for example.\n\n    -- >= 4\n    Nat (Min Nat4)\n\n    -- 2 <= nat <= 12\n    Nat (In Nat2 Nat12)\n\n\n### n\n\n    -- = 3, & 3, described as 2 differences\n    Nat\n        (N Nat3\n            (Nat3Plus orMore_)\n            (Is a To (Nat3Plus a))\n            (Is b To (Nat3Plus b))\n        )\n\n    -- An exact number nTo15 away from 15\n    Nat (N n atLeastN_ (Is nTo15 To Nat15) is_)\n\n","args":["range"],"type":"Typed.Typed Typed.Checked (I.NatTag range) Typed.Public Basics.Int"},{"name":"Only","comment":" Expect an exact number.\n\nOnly useful as an **argument & storage** type in combination with [`Arr`](https://package.elm-lang.org/packages/lue-bird/elm-typesafe-array/latest/)s,\nnot with `Nat`s.\n\n    byte : Arr (Only Nat8) Bit -> Byte\n\n→ A given [`Arr`](https://package.elm-lang.org/packages/lue-bird/elm-typesafe-array/latest/) must have _exactly 8_ `Bit`s.\n\n    type alias TicTacToeBoard =\n        Arr\n            (Only Nat3)\n            (Arr (Only Nat3) TicTacToField)\n\n→ A given [`Arr`](https://package.elm-lang.org/packages/lue-bird/elm-typesafe-array/latest/) must have _exactly 3 by 3_ `TicTacToeField`s.\n\n","args":["n"],"type":"Nat.In n n"},{"name":"To","comment":" Only at type-level in [Is](Nat#Is).\n\n    Is a To b\n\n→ distance `b - a`.\n\n","args":[],"type":"I.To"}],"values":[{"name":"abs","comment":" The absolute value of an `Int`, which is `>= 0`.\n\n    Nat.abs 16 --> Nat 16\n\n    Nat.abs -4 --> Nat 4\n\nReally only use this if you want the absolute value.\n\n    badLength list =\n        List.length >> Nat.abs\n\n    goodLength =\n        List.foldl\n            (\\_ ->\n                MinNat.add nat1\n                    >> Nat.lowerMin nat0\n            )\n            (nat0 |> MinNat.value)\n\nIf something like this isn't possible, [`MinNat.intAtLeast`](MinNat#intAtLeast) is the best way!\n\n","type":"Basics.Int -> Nat.Nat (Nat.Min N.Nat0)"},{"name":"atMost","comment":" **Cap** the `Nat` to at most a number.\n\n    between5And15\n        |> Nat.atMost nat10 { lowest = nat5 }\n    --> : Nat (In Nat5 (Nat10Plus a_))\n\n    atLeast5 |> Nat.atMost nat10 { lowest = nat5 }\n    --> : Nat (In Nat5 (Nat10Plus a_))\n\n`lowest` can be a number <= the minimum.\n\n","type":"Nat.Nat (Nat.ArgIn minNewMax maxNewMax newMaxIfN_) -> { lowest : Nat.Nat (Nat.N lowest atLeastLowest_ (Nat.Is lowestToMin_ Nat.To min) (Nat.Is lowestToMinNewMax_ Nat.To minNewMax)) } -> Nat.Nat (Nat.ArgIn min max_ ifN_) -> Nat.Nat (Nat.In lowest maxNewMax)"},{"name":"div","comment":" Divide (`//`) by a `Nat` >= 1.\n\n  - `/ 0` is impossible\n\n  - `x / d` is at most x\n\n```\natMost7 |> Nat.div nat3\n--> Nat 2 : Nat (In Nat0 (Nat7Plus a_))\n```\n\n","type":"Nat.Nat (Nat.ArgIn (N.Nat1Plus divMinMinus1_) divMax_ divIfN_) -> Nat.Nat (Nat.ArgIn min_ max ifN_) -> Nat.Nat (Nat.In N.Nat0 max)"},{"name":"intAtLeast","comment":" A `Nat (Min ...)` from an `Int`; if the `Int < minimum`, `minimum` is returned.\n\n    9 |> Nat.intAtLeast nat3\n    --> Nat 9 : Nat (Min Nat3)\n\n    0 |> Nat.intAtLeast nat3\n    --> Nat 3 : Nat (Min Nat3)\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.add nat1\n                    >> Nat.lowerMin nat0\n            )\n            (MinNat.value nat0)\n\nIf you want to handle the case `< minimum` yourself, use [`Nat.isIntAtLeast`](Nat#isIntAtLeast).\n\n","type":"Nat.Nat (Nat.ArgIn min max_ lowerIfN_) -> Basics.Int -> Nat.Nat (Nat.Min min)"},{"name":"intInRange","comment":" Create a `Nat (In ...)` by **clamping** an `Int` between a minimum & maximum.\n\n  - if the `Int < minimum`, `minimum` is returned\n  - if the `Int > maximum`, `maximum` is returned\n\n```\n9 |> Nat.intInRange nat3 nat12\n--> Nat 9 : Nat (In Nat3 (Nat12Plus a_))\n\n0 |> Nat.intInRange nat3 nat12\n--> Nat 3 : Nat (In Nat3 (Nat12Plus a_))\n\n99 |> Nat.intInRange nat3 nat12\n--> Nat 12 : Nat (In Nat3 (Nat12Plus a_))\n```\n\nIf you want to handle the cases `< minimum` & `> maximum` explicitly, use [`isIntInRange`](Nat#isIntInRange).\n\n","type":"Nat.Nat (Nat.ArgIn minLowerBound minUpperBound lowerBoundIfN_) -> Nat.Nat (Nat.ArgIn minUpperBound maxUpperBound upperBoundIfN_) -> Basics.Int -> Nat.Nat (Nat.In minLowerBound maxUpperBound)"},{"name":"isIntAtLeast","comment":" If the `Int >= a minimum`, `Just` the `Nat (Min minimum)`, else `Nothing`.\n\n    4 |> Nat.isIntAtLeast nat5\n    --> Nothing : Maybe (Nat (Min Nat5))\n\n    1234 |> Nat.isIntAtLeast nat5\n    --> Just (Nat 1234) : Maybe (Nat (Min Nat5))\n\n","type":"Nat.Nat (Nat.ArgIn min max_ lowerIfN_) -> Basics.Int -> Maybe.Maybe (Nat.Nat (Nat.Min min))"},{"name":"isIntInRange","comment":" Compared to a range from a lower to an upper bound, is the `Int` `BelowOrInOrAboveRange`?\n\n    rejectOrAcceptUserInt :\n        Int\n        -> Result String (Nat (In Nat1 (Nat100Plus a_)))\n    rejectOrAcceptUserInt int =\n        case int |> Nat.isIntInRange nat1 nat100 of\n            InRange inRange ->\n                Ok inRange\n\n            BelowRange () ->\n                Err \"must be >= 1\"\n\n            AboveRange _ ->\n                Err \"must be <= 100\"\n\n\n    rejectOrAcceptUserInt 0\n    --> Err \"must be >= 1\"\n\n","type":"Nat.Nat (Nat.ArgIn minLowerBound minUpperBound lowerBoundIfN_) -> Nat.Nat (Nat.ArgIn minUpperBound maxUpperBound upperBoundIfN_) -> Basics.Int -> Nat.BelowOrInOrAboveRange () (Nat.Nat (Nat.In minLowerBound maxUpperBound)) (Nat.Nat (Nat.Min (N.Nat1Plus maxUpperBound)))"},{"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 (Min Nat3)`\n\n    [ atLeast3\n    , atLeast4 |> Nat.lowerMin nat3\n    ]\n\n","type":"Nat.Nat (Nat.ArgIn lowerMin min lowerIfN_) -> Nat.Nat (Nat.ArgIn min max ifN_) -> Nat.Nat (Nat.In lowerMin max)"},{"name":"mul","comment":" Multiply by a `Nat` >= 1.\nwe know that if `a >= 1`, `x * a >= x`.\n\n    atLeast5  |> Nat.mul nat2\n    --> Nat 10 : Nat (Min Nat5)\n\n    atLeast2 |> Nat.mul nat5\n    --> Nat 10 : Nat (Min Nat2)\n\n","type":"Nat.Nat (Nat.ArgIn (N.Nat1Plus mulMinMinus1_) mulMax_ mulIfN_) -> Nat.Nat (Nat.ArgIn min max_ ifN_) -> Nat.Nat (Nat.Min min)"},{"name":"random","comment":" Generate a random `Nat` in a range.\n\n    Nat.random nat1 nat10\n    --> Random.Generator (Nat (In Nat1 (Nat10Plus a_)))\n\n","type":"Nat.Nat (Nat.ArgIn lowerBoundMin upperBoundMin lowerBoundIfN_) -> Nat.Nat (Nat.ArgIn upperBoundMin upperBoundMax upperBoundIfN_) -> Random.Generator (Nat.Nat (Nat.In lowerBoundMin upperBoundMax))"},{"name":"range","comment":" `Nat`s from a first to last value.\n\n    Nat.range nat3 nat10\n    --> : List (Nat (In Nat3 (Nat10Plus a_)))\n\n    Nat.range nat3 atLeast10\n    --> : List (Nat (Min Nat3))\n\nThe resulting `List` always has >= 1 element.\n\nWith [nats in typesafe-array](https://package.elm-lang.org/packages/lue-bird/elm-typesafe-array/latest/Arr#nats) the type even knows the length! Try it.\n\n","type":"Nat.Nat (Nat.ArgIn firstMin lastMin firstIfN_) -> Nat.Nat (Nat.ArgIn lastMin lastMax lastIfN_) -> List.List (Nat.Nat (Nat.In firstMin lastMax))"},{"name":"remainderBy","comment":" The remainder after dividing by a `Nat` >= 1. `x |> remainderBy d` is at most `d`\n\n    atMost7 |> Nat.remainderBy nat3\n    --> Nat 1 : Nat (In Nat0 (Nat3Plus a_))\n\nIn theory, `x % d` should be at most `d - 1`, but this can't be expressed well by the type.\n\n","type":"Nat.Nat (Nat.ArgIn (N.Nat1Plus divMinMinus1_) divMax divIfN_) -> Nat.Nat (Nat.ArgIn min_ max_ ifN_) -> Nat.Nat (Nat.In N.Nat0 divMax)"},{"name":"restoreMax","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 (ArgIn min Nat18 ifN_)\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 |> Nat.restoreMax nat18)\n\n","type":"Nat.Nat (Nat.ArgIn max newMax newMaxIfN_) -> Nat.Nat (Nat.ArgIn min max ifN) -> Nat.Nat (Nat.ArgIn min newMax ifN)"},{"name":"theGreater","comment":" The greater of 2 `Nat`s.\n\n    Nat.theGreater\n        between1And3\n        (atLeast4 |> Nat.lowerMin nat1)\n    --> : Nat (Min Nat1)\n\n","type":"Nat.Nat range -> Nat.Nat range -> Nat.Nat range"},{"name":"theSmaller","comment":" The smaller of 2 `Nat`s.\n\n    Nat.theSmaller\n        (nat3 |> MinNat.value)\n        (atLeast4 |> Nat.lowerMin nat3)\n    --> Nat 3 : Nat (Min Nat3)\n\n","type":"Nat.Nat range -> Nat.Nat range -> Nat.Nat range"},{"name":"toPower","comment":" The `Nat ^ a Nat >= 1`.\nWe know that if `a >= 1  →  x ^ a >= x`\n\n    atLeast5 |> Nat.toPower nat2\n    --> Nat 25 : Nat (Min Nat5)\n\n    atLeast2 |> Nat.toPower nat5\n    --> Nat 25 : Nat (Min Nat2)\n\n","type":"Nat.Nat (Nat.ArgIn (N.Nat1Plus powMinMinus1_) powMax_ powIfN_) -> Nat.Nat (Nat.ArgIn min max_ ifN_) -> Nat.Nat (Nat.Min min)"}],"binops":[]},{"name":"TypeNats","comment":" Express exact natural numbers in a type.\n\n    onlyExact1 : Nat (ArgIn min Nat1 ifN_) -> Cake\n\n  - `takesOnlyExact1 nat10` is a compile-time error\n\n```\nadd2 : Nat (ArgIn min max ifN_) -> Nat (In (Nat2Plus min) (Nat4Plus max))\n```\n\n  - `add2 nat2` is of type `Nat (In Nat4 (Nat4Plus a_))`\n\n\n### about a big limitation\n\nSadly, while experimenting with type aliases, I discovered that type aliases can only expand so much.\n\n    compilingGetsKilled : Nat (N (Nat100Plus Nat93) isA_ isB_)\n\nIf a type alias is not fully expanded after ~192 tries,\n\n  - the compilation stops\n\n  - the elm-stuff can corrupt\n\n\n## plus 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, Nat16Plus, Nat17Plus, Nat18Plus, Nat19Plus, Nat1Plus, Nat20Plus\n@docs Nat21Plus, Nat22Plus, Nat23Plus, Nat24Plus, Nat25Plus, Nat26Plus, Nat27Plus\n@docs Nat28Plus, Nat29Plus, Nat2Plus, Nat30Plus, Nat31Plus, Nat32Plus, Nat33Plus\n@docs Nat34Plus, Nat35Plus, Nat36Plus, Nat37Plus, Nat38Plus, Nat39Plus, Nat3Plus\n@docs Nat40Plus, Nat41Plus, Nat42Plus, Nat43Plus, Nat44Plus, Nat45Plus, Nat46Plus\n@docs Nat47Plus, Nat48Plus, Nat49Plus, Nat4Plus, Nat50Plus, Nat51Plus, Nat52Plus\n@docs Nat53Plus, Nat54Plus, Nat55Plus, Nat56Plus, Nat57Plus, Nat58Plus, Nat59Plus\n@docs Nat5Plus, Nat60Plus, Nat61Plus, Nat62Plus, Nat63Plus, Nat64Plus, Nat65Plus\n@docs Nat66Plus, Nat67Plus, Nat68Plus, Nat69Plus, Nat6Plus, Nat70Plus, Nat71Plus\n@docs Nat72Plus, Nat73Plus, Nat74Plus, Nat75Plus, Nat76Plus, Nat77Plus, Nat78Plus\n@docs Nat79Plus, Nat7Plus, Nat80Plus, Nat81Plus, Nat82Plus, Nat83Plus, Nat84Plus\n@docs Nat85Plus, Nat86Plus, Nat87Plus, Nat88Plus, Nat89Plus, Nat8Plus, Nat90Plus\n@docs Nat91Plus, Nat92Plus, Nat93Plus, Nat94Plus, Nat95Plus, Nat96Plus, Nat97Plus\n@docs Nat98Plus, Nat99Plus, Nat9Plus\n\n\n## exact\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, Nat17, Nat18\n@docs Nat19, Nat2, Nat20, Nat21, Nat22, Nat23, Nat24, Nat25, Nat26, Nat27, Nat28, Nat29, Nat3\n@docs Nat30, Nat31, Nat32, Nat33, Nat34, Nat35, Nat36, Nat37, Nat38, Nat39, Nat4, Nat40, Nat41\n@docs Nat42, Nat43, Nat44, Nat45, Nat46, Nat47, Nat48, Nat49, Nat5, Nat50, Nat51, Nat52, Nat53\n@docs Nat54, Nat55, Nat56, Nat57, Nat58, Nat59, Nat6, Nat60, Nat61, Nat62, Nat63, Nat64, Nat65\n@docs Nat66, Nat67, Nat68, Nat69, Nat7, Nat70, Nat71, Nat72, Nat73, Nat74, Nat75, Nat76, Nat77\n@docs Nat78, Nat79, Nat8, Nat80, Nat81, Nat82, Nat83, Nat84, Nat85, Nat86, Nat87, Nat88, Nat89\n@docs Nat9, Nat90, Nat91, Nat92, Nat93, Nat94, Nat95, Nat96, Nat97, Nat98, Nat99\n\n","unions":[],"aliases":[{"name":"Nat0","comment":" Exact the natural number 0.\n","args":[],"type":"N.Nat0"},{"name":"Nat1","comment":" Exact the natural number 1.\n","args":[],"type":"N.Nat1"},{"name":"Nat10","comment":" Exact the natural number 10.\n","args":[],"type":"N.Nat10"},{"name":"Nat100","comment":" Exact the natural number 100.\n","args":[],"type":"N.Nat100"},{"name":"Nat100Plus","comment":" 100 + some natural number n.\n","args":["n"],"type":"N.Nat100Plus n"},{"name":"Nat101","comment":" Exact the natural number 101.\n","args":[],"type":"N.Nat101"},{"name":"Nat101Plus","comment":" 101 + some natural number n.\n","args":["n"],"type":"N.Nat101Plus n"},{"name":"Nat102","comment":" Exact the natural number 102.\n","args":[],"type":"N.Nat102"},{"name":"Nat102Plus","comment":" 102 + some natural number n.\n","args":["n"],"type":"N.Nat102Plus n"},{"name":"Nat103","comment":" Exact the natural number 103.\n","args":[],"type":"N.Nat103"},{"name":"Nat103Plus","comment":" 103 + some natural number n.\n","args":["n"],"type":"N.Nat103Plus n"},{"name":"Nat104","comment":" Exact the natural number 104.\n","args":[],"type":"N.Nat104"},{"name":"Nat104Plus","comment":" 104 + some natural number n.\n","args":["n"],"type":"N.Nat104Plus n"},{"name":"Nat105","comment":" Exact the natural number 105.\n","args":[],"type":"N.Nat105"},{"name":"Nat105Plus","comment":" 105 + some natural number n.\n","args":["n"],"type":"N.Nat105Plus n"},{"name":"Nat106","comment":" Exact the natural number 106.\n","args":[],"type":"N.Nat106"},{"name":"Nat106Plus","comment":" 106 + some natural number n.\n","args":["n"],"type":"N.Nat106Plus n"},{"name":"Nat107","comment":" Exact the natural number 107.\n","args":[],"type":"N.Nat107"},{"name":"Nat107Plus","comment":" 107 + some natural number n.\n","args":["n"],"type":"N.Nat107Plus n"},{"name":"Nat108","comment":" Exact the natural number 108.\n","args":[],"type":"N.Nat108"},{"name":"Nat108Plus","comment":" 108 + some natural number n.\n","args":["n"],"type":"N.Nat108Plus n"},{"name":"Nat109","comment":" Exact the natural number 109.\n","args":[],"type":"N.Nat109"},{"name":"Nat109Plus","comment":" 109 + some natural number n.\n","args":["n"],"type":"N.Nat109Plus n"},{"name":"Nat10Plus","comment":" 10 + some natural number n.\n","args":["n"],"type":"N.Nat10Plus n"},{"name":"Nat11","comment":" Exact the natural number 11.\n","args":[],"type":"N.Nat11"},{"name":"Nat110","comment":" Exact the natural number 110.\n","args":[],"type":"N.Nat110"},{"name":"Nat110Plus","comment":" 110 + some natural number n.\n","args":["n"],"type":"N.Nat110Plus n"},{"name":"Nat111","comment":" Exact the natural number 111.\n","args":[],"type":"N.Nat111"},{"name":"Nat111Plus","comment":" 111 + some natural number n.\n","args":["n"],"type":"N.Nat111Plus n"},{"name":"Nat112","comment":" Exact the natural number 112.\n","args":[],"type":"N.Nat112"},{"name":"Nat112Plus","comment":" 112 + some natural number n.\n","args":["n"],"type":"N.Nat112Plus n"},{"name":"Nat113","comment":" Exact the natural number 113.\n","args":[],"type":"N.Nat113"},{"name":"Nat113Plus","comment":" 113 + some natural number n.\n","args":["n"],"type":"N.Nat113Plus n"},{"name":"Nat114","comment":" Exact the natural number 114.\n","args":[],"type":"N.Nat114"},{"name":"Nat114Plus","comment":" 114 + some natural number n.\n","args":["n"],"type":"N.Nat114Plus n"},{"name":"Nat115","comment":" Exact the natural number 115.\n","args":[],"type":"N.Nat115"},{"name":"Nat115Plus","comment":" 115 + some natural number n.\n","args":["n"],"type":"N.Nat115Plus n"},{"name":"Nat116","comment":" Exact the natural number 116.\n","args":[],"type":"N.Nat116"},{"name":"Nat116Plus","comment":" 116 + some natural number n.\n","args":["n"],"type":"N.Nat116Plus n"},{"name":"Nat117","comment":" Exact the natural number 117.\n","args":[],"type":"N.Nat117"},{"name":"Nat117Plus","comment":" 117 + some natural number n.\n","args":["n"],"type":"N.Nat117Plus n"},{"name":"Nat118","comment":" Exact the natural number 118.\n","args":[],"type":"N.Nat118"},{"name":"Nat118Plus","comment":" 118 + some natural number n.\n","args":["n"],"type":"N.Nat118Plus n"},{"name":"Nat119","comment":" Exact the natural number 119.\n","args":[],"type":"N.Nat119"},{"name":"Nat119Plus","comment":" 119 + some natural number n.\n","args":["n"],"type":"N.Nat119Plus n"},{"name":"Nat11Plus","comment":" 11 + some natural number n.\n","args":["n"],"type":"N.Nat11Plus n"},{"name":"Nat12","comment":" Exact the natural number 12.\n","args":[],"type":"N.Nat12"},{"name":"Nat120","comment":" Exact the natural number 120.\n","args":[],"type":"N.Nat120"},{"name":"Nat120Plus","comment":" 120 + some natural number n.\n","args":["n"],"type":"N.Nat120Plus n"},{"name":"Nat121","comment":" Exact the natural number 121.\n","args":[],"type":"N.Nat121"},{"name":"Nat121Plus","comment":" 121 + some natural number n.\n","args":["n"],"type":"N.Nat121Plus n"},{"name":"Nat122","comment":" Exact the natural number 122.\n","args":[],"type":"N.Nat122"},{"name":"Nat122Plus","comment":" 122 + some natural number n.\n","args":["n"],"type":"N.Nat122Plus n"},{"name":"Nat123","comment":" Exact the natural number 123.\n","args":[],"type":"N.Nat123"},{"name":"Nat123Plus","comment":" 123 + some natural number n.\n","args":["n"],"type":"N.Nat123Plus n"},{"name":"Nat124","comment":" Exact the natural number 124.\n","args":[],"type":"N.Nat124"},{"name":"Nat124Plus","comment":" 124 + some natural number n.\n","args":["n"],"type":"N.Nat124Plus n"},{"name":"Nat125","comment":" Exact the natural number 125.\n","args":[],"type":"N.Nat125"},{"name":"Nat125Plus","comment":" 125 + some natural number n.\n","args":["n"],"type":"N.Nat125Plus n"},{"name":"Nat126","comment":" Exact the natural number 126.\n","args":[],"type":"N.Nat126"},{"name":"Nat126Plus","comment":" 126 + some natural number n.\n","args":["n"],"type":"N.Nat126Plus n"},{"name":"Nat127","comment":" Exact the natural number 127.\n","args":[],"type":"N.Nat127"},{"name":"Nat127Plus","comment":" 127 + some natural number n.\n","args":["n"],"type":"N.Nat127Plus n"},{"name":"Nat128","comment":" Exact the natural number 128.\n","args":[],"type":"N.Nat128"},{"name":"Nat128Plus","comment":" 128 + some natural number n.\n","args":["n"],"type":"N.Nat128Plus n"},{"name":"Nat129","comment":" Exact the natural number 129.\n","args":[],"type":"N.Nat129"},{"name":"Nat129Plus","comment":" 129 + some natural number n.\n","args":["n"],"type":"N.Nat129Plus n"},{"name":"Nat12Plus","comment":" 12 + some natural number n.\n","args":["n"],"type":"N.Nat12Plus n"},{"name":"Nat13","comment":" Exact the natural number 13.\n","args":[],"type":"N.Nat13"},{"name":"Nat130","comment":" Exact the natural number 130.\n","args":[],"type":"N.Nat130"},{"name":"Nat130Plus","comment":" 130 + some natural number n.\n","args":["n"],"type":"N.Nat130Plus n"},{"name":"Nat131","comment":" Exact the natural number 131.\n","args":[],"type":"N.Nat131"},{"name":"Nat131Plus","comment":" 131 + some natural number n.\n","args":["n"],"type":"N.Nat131Plus n"},{"name":"Nat132","comment":" Exact the natural number 132.\n","args":[],"type":"N.Nat132"},{"name":"Nat132Plus","comment":" 132 + some natural number n.\n","args":["n"],"type":"N.Nat132Plus n"},{"name":"Nat133","comment":" Exact the natural number 133.\n","args":[],"type":"N.Nat133"},{"name":"Nat133Plus","comment":" 133 + some natural number n.\n","args":["n"],"type":"N.Nat133Plus n"},{"name":"Nat134","comment":" Exact the natural number 134.\n","args":[],"type":"N.Nat134"},{"name":"Nat134Plus","comment":" 134 + some natural number n.\n","args":["n"],"type":"N.Nat134Plus n"},{"name":"Nat135","comment":" Exact the natural number 135.\n","args":[],"type":"N.Nat135"},{"name":"Nat135Plus","comment":" 135 + some natural number n.\n","args":["n"],"type":"N.Nat135Plus n"},{"name":"Nat136","comment":" Exact the natural number 136.\n","args":[],"type":"N.Nat136"},{"name":"Nat136Plus","comment":" 136 + some natural number n.\n","args":["n"],"type":"N.Nat136Plus n"},{"name":"Nat137","comment":" Exact the natural number 137.\n","args":[],"type":"N.Nat137"},{"name":"Nat137Plus","comment":" 137 + some natural number n.\n","args":["n"],"type":"N.Nat137Plus n"},{"name":"Nat138","comment":" Exact the natural number 138.\n","args":[],"type":"N.Nat138"},{"name":"Nat138Plus","comment":" 138 + some natural number n.\n","args":["n"],"type":"N.Nat138Plus n"},{"name":"Nat139","comment":" Exact the natural number 139.\n","args":[],"type":"N.Nat139"},{"name":"Nat139Plus","comment":" 139 + some natural number n.\n","args":["n"],"type":"N.Nat139Plus n"},{"name":"Nat13Plus","comment":" 13 + some natural number n.\n","args":["n"],"type":"N.Nat13Plus n"},{"name":"Nat14","comment":" Exact the natural number 14.\n","args":[],"type":"N.Nat14"},{"name":"Nat140","comment":" Exact the natural number 140.\n","args":[],"type":"N.Nat140"},{"name":"Nat140Plus","comment":" 140 + some natural number n.\n","args":["n"],"type":"N.Nat140Plus n"},{"name":"Nat141","comment":" Exact the natural number 141.\n","args":[],"type":"N.Nat141"},{"name":"Nat141Plus","comment":" 141 + some natural number n.\n","args":["n"],"type":"N.Nat141Plus n"},{"name":"Nat142","comment":" Exact the natural number 142.\n","args":[],"type":"N.Nat142"},{"name":"Nat142Plus","comment":" 142 + some natural number n.\n","args":["n"],"type":"N.Nat142Plus n"},{"name":"Nat143","comment":" Exact the natural number 143.\n","args":[],"type":"N.Nat143"},{"name":"Nat143Plus","comment":" 143 + some natural number n.\n","args":["n"],"type":"N.Nat143Plus n"},{"name":"Nat144","comment":" Exact the natural number 144.\n","args":[],"type":"N.Nat144"},{"name":"Nat144Plus","comment":" 144 + some natural number n.\n","args":["n"],"type":"N.Nat144Plus n"},{"name":"Nat145","comment":" Exact the natural number 145.\n","args":[],"type":"N.Nat145"},{"name":"Nat145Plus","comment":" 145 + some natural number n.\n","args":["n"],"type":"N.Nat145Plus n"},{"name":"Nat146","comment":" Exact the natural number 146.\n","args":[],"type":"N.Nat146"},{"name":"Nat146Plus","comment":" 146 + some natural number n.\n","args":["n"],"type":"N.Nat146Plus n"},{"name":"Nat147","comment":" Exact the natural number 147.\n","args":[],"type":"N.Nat147"},{"name":"Nat147Plus","comment":" 147 + some natural number n.\n","args":["n"],"type":"N.Nat147Plus n"},{"name":"Nat148","comment":" Exact the natural number 148.\n","args":[],"type":"N.Nat148"},{"name":"Nat148Plus","comment":" 148 + some natural number n.\n","args":["n"],"type":"N.Nat148Plus n"},{"name":"Nat149","comment":" Exact the natural number 149.\n","args":[],"type":"N.Nat149"},{"name":"Nat149Plus","comment":" 149 + some natural number n.\n","args":["n"],"type":"N.Nat149Plus n"},{"name":"Nat14Plus","comment":" 14 + some natural number n.\n","args":["n"],"type":"N.Nat14Plus n"},{"name":"Nat15","comment":" Exact the natural number 15.\n","args":[],"type":"N.Nat15"},{"name":"Nat150","comment":" Exact the natural number 150.\n","args":[],"type":"N.Nat150"},{"name":"Nat150Plus","comment":" 150 + some natural number n.\n","args":["n"],"type":"N.Nat150Plus n"},{"name":"Nat151","comment":" Exact the natural number 151.\n","args":[],"type":"N.Nat151"},{"name":"Nat151Plus","comment":" 151 + some natural number n.\n","args":["n"],"type":"N.Nat151Plus n"},{"name":"Nat152","comment":" Exact the natural number 152.\n","args":[],"type":"N.Nat152"},{"name":"Nat152Plus","comment":" 152 + some natural number n.\n","args":["n"],"type":"N.Nat152Plus n"},{"name":"Nat153","comment":" Exact the natural number 153.\n","args":[],"type":"N.Nat153"},{"name":"Nat153Plus","comment":" 153 + some natural number n.\n","args":["n"],"type":"N.Nat153Plus n"},{"name":"Nat154","comment":" Exact the natural number 154.\n","args":[],"type":"N.Nat154"},{"name":"Nat154Plus","comment":" 154 + some natural number n.\n","args":["n"],"type":"N.Nat154Plus n"},{"name":"Nat155","comment":" Exact the natural number 155.\n","args":[],"type":"N.Nat155"},{"name":"Nat155Plus","comment":" 155 + some natural number n.\n","args":["n"],"type":"N.Nat155Plus n"},{"name":"Nat156","comment":" Exact the natural number 156.\n","args":[],"type":"N.Nat156"},{"name":"Nat156Plus","comment":" 156 + some natural number n.\n","args":["n"],"type":"N.Nat156Plus n"},{"name":"Nat157","comment":" Exact the natural number 157.\n","args":[],"type":"N.Nat157"},{"name":"Nat157Plus","comment":" 157 + some natural number n.\n","args":["n"],"type":"N.Nat157Plus n"},{"name":"Nat158","comment":" Exact the natural number 158.\n","args":[],"type":"N.Nat158"},{"name":"Nat158Plus","comment":" 158 + some natural number n.\n","args":["n"],"type":"N.Nat158Plus n"},{"name":"Nat159","comment":" Exact the natural number 159.\n","args":[],"type":"N.Nat159"},{"name":"Nat159Plus","comment":" 159 + some natural number n.\n","args":["n"],"type":"N.Nat159Plus n"},{"name":"Nat15Plus","comment":" 15 + some natural number n.\n","args":["n"],"type":"N.Nat15Plus n"},{"name":"Nat16","comment":" Exact the natural number 16.\n","args":[],"type":"N.Nat16"},{"name":"Nat160","comment":" Exact the natural number 160.\n","args":[],"type":"N.Nat160"},{"name":"Nat160Plus","comment":" 160 + some natural number n.\n","args":["n"],"type":"N.Nat160Plus n"},{"name":"Nat16Plus","comment":" 16 + some natural number n.\n","args":["n"],"type":"N.Nat16Plus n"},{"name":"Nat17","comment":" Exact the natural number 17.\n","args":[],"type":"N.Nat17"},{"name":"Nat17Plus","comment":" 17 + some natural number n.\n","args":["n"],"type":"N.Nat17Plus n"},{"name":"Nat18","comment":" Exact the natural number 18.\n","args":[],"type":"N.Nat18"},{"name":"Nat18Plus","comment":" 18 + some natural number n.\n","args":["n"],"type":"N.Nat18Plus n"},{"name":"Nat19","comment":" Exact the natural number 19.\n","args":[],"type":"N.Nat19"},{"name":"Nat19Plus","comment":" 19 + some natural number n.\n","args":["n"],"type":"N.Nat19Plus n"},{"name":"Nat1Plus","comment":" 1 + some natural number n.\n","args":["n"],"type":"N.Nat1Plus n"},{"name":"Nat2","comment":" Exact the natural number 2.\n","args":[],"type":"N.Nat2"},{"name":"Nat20","comment":" Exact the natural number 20.\n","args":[],"type":"N.Nat20"},{"name":"Nat20Plus","comment":" 20 + some natural number n.\n","args":["n"],"type":"N.Nat20Plus n"},{"name":"Nat21","comment":" Exact the natural number 21.\n","args":[],"type":"N.Nat21"},{"name":"Nat21Plus","comment":" 21 + some natural number n.\n","args":["n"],"type":"N.Nat21Plus n"},{"name":"Nat22","comment":" Exact the natural number 22.\n","args":[],"type":"N.Nat22"},{"name":"Nat22Plus","comment":" 22 + some natural number n.\n","args":["n"],"type":"N.Nat22Plus n"},{"name":"Nat23","comment":" Exact the natural number 23.\n","args":[],"type":"N.Nat23"},{"name":"Nat23Plus","comment":" 23 + some natural number n.\n","args":["n"],"type":"N.Nat23Plus n"},{"name":"Nat24","comment":" Exact the natural number 24.\n","args":[],"type":"N.Nat24"},{"name":"Nat24Plus","comment":" 24 + some natural number n.\n","args":["n"],"type":"N.Nat24Plus n"},{"name":"Nat25","comment":" Exact the natural number 25.\n","args":[],"type":"N.Nat25"},{"name":"Nat25Plus","comment":" 25 + some natural number n.\n","args":["n"],"type":"N.Nat25Plus n"},{"name":"Nat26","comment":" Exact the natural number 26.\n","args":[],"type":"N.Nat26"},{"name":"Nat26Plus","comment":" 26 + some natural number n.\n","args":["n"],"type":"N.Nat26Plus n"},{"name":"Nat27","comment":" Exact the natural number 27.\n","args":[],"type":"N.Nat27"},{"name":"Nat27Plus","comment":" 27 + some natural number n.\n","args":["n"],"type":"N.Nat27Plus n"},{"name":"Nat28","comment":" Exact the natural number 28.\n","args":[],"type":"N.Nat28"},{"name":"Nat28Plus","comment":" 28 + some natural number n.\n","args":["n"],"type":"N.Nat28Plus n"},{"name":"Nat29","comment":" Exact the natural number 29.\n","args":[],"type":"N.Nat29"},{"name":"Nat29Plus","comment":" 29 + some natural number n.\n","args":["n"],"type":"N.Nat29Plus n"},{"name":"Nat2Plus","comment":" 2 + some natural number n.\n","args":["n"],"type":"N.Nat2Plus n"},{"name":"Nat3","comment":" Exact the natural number 3.\n","args":[],"type":"N.Nat3"},{"name":"Nat30","comment":" Exact the natural number 30.\n","args":[],"type":"N.Nat30"},{"name":"Nat30Plus","comment":" 30 + some natural number n.\n","args":["n"],"type":"N.Nat30Plus n"},{"name":"Nat31","comment":" Exact the natural number 31.\n","args":[],"type":"N.Nat31"},{"name":"Nat31Plus","comment":" 31 + some natural number n.\n","args":["n"],"type":"N.Nat31Plus n"},{"name":"Nat32","comment":" Exact the natural number 32.\n","args":[],"type":"N.Nat32"},{"name":"Nat32Plus","comment":" 32 + some natural number n.\n","args":["n"],"type":"N.Nat32Plus n"},{"name":"Nat33","comment":" Exact the natural number 33.\n","args":[],"type":"N.Nat33"},{"name":"Nat33Plus","comment":" 33 + some natural number n.\n","args":["n"],"type":"N.Nat33Plus n"},{"name":"Nat34","comment":" Exact the natural number 34.\n","args":[],"type":"N.Nat34"},{"name":"Nat34Plus","comment":" 34 + some natural number n.\n","args":["n"],"type":"N.Nat34Plus n"},{"name":"Nat35","comment":" Exact the natural number 35.\n","args":[],"type":"N.Nat35"},{"name":"Nat35Plus","comment":" 35 + some natural number n.\n","args":["n"],"type":"N.Nat35Plus n"},{"name":"Nat36","comment":" Exact the natural number 36.\n","args":[],"type":"N.Nat36"},{"name":"Nat36Plus","comment":" 36 + some natural number n.\n","args":["n"],"type":"N.Nat36Plus n"},{"name":"Nat37","comment":" Exact the natural number 37.\n","args":[],"type":"N.Nat37"},{"name":"Nat37Plus","comment":" 37 + some natural number n.\n","args":["n"],"type":"N.Nat37Plus n"},{"name":"Nat38","comment":" Exact the natural number 38.\n","args":[],"type":"N.Nat38"},{"name":"Nat38Plus","comment":" 38 + some natural number n.\n","args":["n"],"type":"N.Nat38Plus n"},{"name":"Nat39","comment":" Exact the natural number 39.\n","args":[],"type":"N.Nat39"},{"name":"Nat39Plus","comment":" 39 + some natural number n.\n","args":["n"],"type":"N.Nat39Plus n"},{"name":"Nat3Plus","comment":" 3 + some natural number n.\n","args":["n"],"type":"N.Nat3Plus n"},{"name":"Nat4","comment":" Exact the natural number 4.\n","args":[],"type":"N.Nat4"},{"name":"Nat40","comment":" Exact the natural number 40.\n","args":[],"type":"N.Nat40"},{"name":"Nat40Plus","comment":" 40 + some natural number n.\n","args":["n"],"type":"N.Nat40Plus n"},{"name":"Nat41","comment":" Exact the natural number 41.\n","args":[],"type":"N.Nat41"},{"name":"Nat41Plus","comment":" 41 + some natural number n.\n","args":["n"],"type":"N.Nat41Plus n"},{"name":"Nat42","comment":" Exact the natural number 42.\n","args":[],"type":"N.Nat42"},{"name":"Nat42Plus","comment":" 42 + some natural number n.\n","args":["n"],"type":"N.Nat42Plus n"},{"name":"Nat43","comment":" Exact the natural number 43.\n","args":[],"type":"N.Nat43"},{"name":"Nat43Plus","comment":" 43 + some natural number n.\n","args":["n"],"type":"N.Nat43Plus n"},{"name":"Nat44","comment":" Exact the natural number 44.\n","args":[],"type":"N.Nat44"},{"name":"Nat44Plus","comment":" 44 + some natural number n.\n","args":["n"],"type":"N.Nat44Plus n"},{"name":"Nat45","comment":" Exact the natural number 45.\n","args":[],"type":"N.Nat45"},{"name":"Nat45Plus","comment":" 45 + some natural number n.\n","args":["n"],"type":"N.Nat45Plus n"},{"name":"Nat46","comment":" Exact the natural number 46.\n","args":[],"type":"N.Nat46"},{"name":"Nat46Plus","comment":" 46 + some natural number n.\n","args":["n"],"type":"N.Nat46Plus n"},{"name":"Nat47","comment":" Exact the natural number 47.\n","args":[],"type":"N.Nat47"},{"name":"Nat47Plus","comment":" 47 + some natural number n.\n","args":["n"],"type":"N.Nat47Plus n"},{"name":"Nat48","comment":" Exact the natural number 48.\n","args":[],"type":"N.Nat48"},{"name":"Nat48Plus","comment":" 48 + some natural number n.\n","args":["n"],"type":"N.Nat48Plus n"},{"name":"Nat49","comment":" Exact the natural number 49.\n","args":[],"type":"N.Nat49"},{"name":"Nat49Plus","comment":" 49 + some natural number n.\n","args":["n"],"type":"N.Nat49Plus n"},{"name":"Nat4Plus","comment":" 4 + some natural number n.\n","args":["n"],"type":"N.Nat4Plus n"},{"name":"Nat5","comment":" Exact the natural number 5.\n","args":[],"type":"N.Nat5"},{"name":"Nat50","comment":" Exact the natural number 50.\n","args":[],"type":"N.Nat50"},{"name":"Nat50Plus","comment":" 50 + some natural number n.\n","args":["n"],"type":"N.Nat50Plus n"},{"name":"Nat51","comment":" Exact the natural number 51.\n","args":[],"type":"N.Nat51"},{"name":"Nat51Plus","comment":" 51 + some natural number n.\n","args":["n"],"type":"N.Nat51Plus n"},{"name":"Nat52","comment":" Exact the natural number 52.\n","args":[],"type":"N.Nat52"},{"name":"Nat52Plus","comment":" 52 + some natural number n.\n","args":["n"],"type":"N.Nat52Plus n"},{"name":"Nat53","comment":" Exact the natural number 53.\n","args":[],"type":"N.Nat53"},{"name":"Nat53Plus","comment":" 53 + some natural number n.\n","args":["n"],"type":"N.Nat53Plus n"},{"name":"Nat54","comment":" Exact the natural number 54.\n","args":[],"type":"N.Nat54"},{"name":"Nat54Plus","comment":" 54 + some natural number n.\n","args":["n"],"type":"N.Nat54Plus n"},{"name":"Nat55","comment":" Exact the natural number 55.\n","args":[],"type":"N.Nat55"},{"name":"Nat55Plus","comment":" 55 + some natural number n.\n","args":["n"],"type":"N.Nat55Plus n"},{"name":"Nat56","comment":" Exact the natural number 56.\n","args":[],"type":"N.Nat56"},{"name":"Nat56Plus","comment":" 56 + some natural number n.\n","args":["n"],"type":"N.Nat56Plus n"},{"name":"Nat57","comment":" Exact the natural number 57.\n","args":[],"type":"N.Nat57"},{"name":"Nat57Plus","comment":" 57 + some natural number n.\n","args":["n"],"type":"N.Nat57Plus n"},{"name":"Nat58","comment":" Exact the natural number 58.\n","args":[],"type":"N.Nat58"},{"name":"Nat58Plus","comment":" 58 + some natural number n.\n","args":["n"],"type":"N.Nat58Plus n"},{"name":"Nat59","comment":" Exact the natural number 59.\n","args":[],"type":"N.Nat59"},{"name":"Nat59Plus","comment":" 59 + some natural number n.\n","args":["n"],"type":"N.Nat59Plus n"},{"name":"Nat5Plus","comment":" 5 + some natural number n.\n","args":["n"],"type":"N.Nat5Plus n"},{"name":"Nat6","comment":" Exact the natural number 6.\n","args":[],"type":"N.Nat6"},{"name":"Nat60","comment":" Exact the natural number 60.\n","args":[],"type":"N.Nat60"},{"name":"Nat60Plus","comment":" 60 + some natural number n.\n","args":["n"],"type":"N.Nat60Plus n"},{"name":"Nat61","comment":" Exact the natural number 61.\n","args":[],"type":"N.Nat61"},{"name":"Nat61Plus","comment":" 61 + some natural number n.\n","args":["n"],"type":"N.Nat61Plus n"},{"name":"Nat62","comment":" Exact the natural number 62.\n","args":[],"type":"N.Nat62"},{"name":"Nat62Plus","comment":" 62 + some natural number n.\n","args":["n"],"type":"N.Nat62Plus n"},{"name":"Nat63","comment":" Exact the natural number 63.\n","args":[],"type":"N.Nat63"},{"name":"Nat63Plus","comment":" 63 + some natural number n.\n","args":["n"],"type":"N.Nat63Plus n"},{"name":"Nat64","comment":" Exact the natural number 64.\n","args":[],"type":"N.Nat64"},{"name":"Nat64Plus","comment":" 64 + some natural number n.\n","args":["n"],"type":"N.Nat64Plus n"},{"name":"Nat65","comment":" Exact the natural number 65.\n","args":[],"type":"N.Nat65"},{"name":"Nat65Plus","comment":" 65 + some natural number n.\n","args":["n"],"type":"N.Nat65Plus n"},{"name":"Nat66","comment":" Exact the natural number 66.\n","args":[],"type":"N.Nat66"},{"name":"Nat66Plus","comment":" 66 + some natural number n.\n","args":["n"],"type":"N.Nat66Plus n"},{"name":"Nat67","comment":" Exact the natural number 67.\n","args":[],"type":"N.Nat67"},{"name":"Nat67Plus","comment":" 67 + some natural number n.\n","args":["n"],"type":"N.Nat67Plus n"},{"name":"Nat68","comment":" Exact the natural number 68.\n","args":[],"type":"N.Nat68"},{"name":"Nat68Plus","comment":" 68 + some natural number n.\n","args":["n"],"type":"N.Nat68Plus n"},{"name":"Nat69","comment":" Exact the natural number 69.\n","args":[],"type":"N.Nat69"},{"name":"Nat69Plus","comment":" 69 + some natural number n.\n","args":["n"],"type":"N.Nat69Plus n"},{"name":"Nat6Plus","comment":" 6 + some natural number n.\n","args":["n"],"type":"N.Nat6Plus n"},{"name":"Nat7","comment":" Exact the natural number 7.\n","args":[],"type":"N.Nat7"},{"name":"Nat70","comment":" Exact the natural number 70.\n","args":[],"type":"N.Nat70"},{"name":"Nat70Plus","comment":" 70 + some natural number n.\n","args":["n"],"type":"N.Nat70Plus n"},{"name":"Nat71","comment":" Exact the natural number 71.\n","args":[],"type":"N.Nat71"},{"name":"Nat71Plus","comment":" 71 + some natural number n.\n","args":["n"],"type":"N.Nat71Plus n"},{"name":"Nat72","comment":" Exact the natural number 72.\n","args":[],"type":"N.Nat72"},{"name":"Nat72Plus","comment":" 72 + some natural number n.\n","args":["n"],"type":"N.Nat72Plus n"},{"name":"Nat73","comment":" Exact the natural number 73.\n","args":[],"type":"N.Nat73"},{"name":"Nat73Plus","comment":" 73 + some natural number n.\n","args":["n"],"type":"N.Nat73Plus n"},{"name":"Nat74","comment":" Exact the natural number 74.\n","args":[],"type":"N.Nat74"},{"name":"Nat74Plus","comment":" 74 + some natural number n.\n","args":["n"],"type":"N.Nat74Plus n"},{"name":"Nat75","comment":" Exact the natural number 75.\n","args":[],"type":"N.Nat75"},{"name":"Nat75Plus","comment":" 75 + some natural number n.\n","args":["n"],"type":"N.Nat75Plus n"},{"name":"Nat76","comment":" Exact the natural number 76.\n","args":[],"type":"N.Nat76"},{"name":"Nat76Plus","comment":" 76 + some natural number n.\n","args":["n"],"type":"N.Nat76Plus n"},{"name":"Nat77","comment":" Exact the natural number 77.\n","args":[],"type":"N.Nat77"},{"name":"Nat77Plus","comment":" 77 + some natural number n.\n","args":["n"],"type":"N.Nat77Plus n"},{"name":"Nat78","comment":" Exact the natural number 78.\n","args":[],"type":"N.Nat78"},{"name":"Nat78Plus","comment":" 78 + some natural number n.\n","args":["n"],"type":"N.Nat78Plus n"},{"name":"Nat79","comment":" Exact the natural number 79.\n","args":[],"type":"N.Nat79"},{"name":"Nat79Plus","comment":" 79 + some natural number n.\n","args":["n"],"type":"N.Nat79Plus n"},{"name":"Nat7Plus","comment":" 7 + some natural number n.\n","args":["n"],"type":"N.Nat7Plus n"},{"name":"Nat8","comment":" Exact the natural number 8.\n","args":[],"type":"N.Nat8"},{"name":"Nat80","comment":" Exact the natural number 80.\n","args":[],"type":"N.Nat80"},{"name":"Nat80Plus","comment":" 80 + some natural number n.\n","args":["n"],"type":"N.Nat80Plus n"},{"name":"Nat81","comment":" Exact the natural number 81.\n","args":[],"type":"N.Nat81"},{"name":"Nat81Plus","comment":" 81 + some natural number n.\n","args":["n"],"type":"N.Nat81Plus n"},{"name":"Nat82","comment":" Exact the natural number 82.\n","args":[],"type":"N.Nat82"},{"name":"Nat82Plus","comment":" 82 + some natural number n.\n","args":["n"],"type":"N.Nat82Plus n"},{"name":"Nat83","comment":" Exact the natural number 83.\n","args":[],"type":"N.Nat83"},{"name":"Nat83Plus","comment":" 83 + some natural number n.\n","args":["n"],"type":"N.Nat83Plus n"},{"name":"Nat84","comment":" Exact the natural number 84.\n","args":[],"type":"N.Nat84"},{"name":"Nat84Plus","comment":" 84 + some natural number n.\n","args":["n"],"type":"N.Nat84Plus n"},{"name":"Nat85","comment":" Exact the natural number 85.\n","args":[],"type":"N.Nat85"},{"name":"Nat85Plus","comment":" 85 + some natural number n.\n","args":["n"],"type":"N.Nat85Plus n"},{"name":"Nat86","comment":" Exact the natural number 86.\n","args":[],"type":"N.Nat86"},{"name":"Nat86Plus","comment":" 86 + some natural number n.\n","args":["n"],"type":"N.Nat86Plus n"},{"name":"Nat87","comment":" Exact the natural number 87.\n","args":[],"type":"N.Nat87"},{"name":"Nat87Plus","comment":" 87 + some natural number n.\n","args":["n"],"type":"N.Nat87Plus n"},{"name":"Nat88","comment":" Exact the natural number 88.\n","args":[],"type":"N.Nat88"},{"name":"Nat88Plus","comment":" 88 + some natural number n.\n","args":["n"],"type":"N.Nat88Plus n"},{"name":"Nat89","comment":" Exact the natural number 89.\n","args":[],"type":"N.Nat89"},{"name":"Nat89Plus","comment":" 89 + some natural number n.\n","args":["n"],"type":"N.Nat89Plus n"},{"name":"Nat8Plus","comment":" 8 + some natural number n.\n","args":["n"],"type":"N.Nat8Plus n"},{"name":"Nat9","comment":" Exact the natural number 9.\n","args":[],"type":"N.Nat9"},{"name":"Nat90","comment":" Exact the natural number 90.\n","args":[],"type":"N.Nat90"},{"name":"Nat90Plus","comment":" 90 + some natural number n.\n","args":["n"],"type":"N.Nat90Plus n"},{"name":"Nat91","comment":" Exact the natural number 91.\n","args":[],"type":"N.Nat91"},{"name":"Nat91Plus","comment":" 91 + some natural number n.\n","args":["n"],"type":"N.Nat91Plus n"},{"name":"Nat92","comment":" Exact the natural number 92.\n","args":[],"type":"N.Nat92"},{"name":"Nat92Plus","comment":" 92 + some natural number n.\n","args":["n"],"type":"N.Nat92Plus n"},{"name":"Nat93","comment":" Exact the natural number 93.\n","args":[],"type":"N.Nat93"},{"name":"Nat93Plus","comment":" 93 + some natural number n.\n","args":["n"],"type":"N.Nat93Plus n"},{"name":"Nat94","comment":" Exact the natural number 94.\n","args":[],"type":"N.Nat94"},{"name":"Nat94Plus","comment":" 94 + some natural number n.\n","args":["n"],"type":"N.Nat94Plus n"},{"name":"Nat95","comment":" Exact the natural number 95.\n","args":[],"type":"N.Nat95"},{"name":"Nat95Plus","comment":" 95 + some natural number n.\n","args":["n"],"type":"N.Nat95Plus n"},{"name":"Nat96","comment":" Exact the natural number 96.\n","args":[],"type":"N.Nat96"},{"name":"Nat96Plus","comment":" 96 + some natural number n.\n","args":["n"],"type":"N.Nat96Plus n"},{"name":"Nat97","comment":" Exact the natural number 97.\n","args":[],"type":"N.Nat97"},{"name":"Nat97Plus","comment":" 97 + some natural number n.\n","args":["n"],"type":"N.Nat97Plus n"},{"name":"Nat98","comment":" Exact the natural number 98.\n","args":[],"type":"N.Nat98"},{"name":"Nat98Plus","comment":" 98 + some natural number n.\n","args":["n"],"type":"N.Nat98Plus n"},{"name":"Nat99","comment":" Exact the natural number 99.\n","args":[],"type":"N.Nat99"},{"name":"Nat99Plus","comment":" 99 + some natural number n.\n","args":["n"],"type":"N.Nat99Plus n"},{"name":"Nat9Plus","comment":" 9 + some natural number n.\n","args":["n"],"type":"N.Nat9Plus n"}],"values":[],"binops":[]}]