5%k      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None 7Type-level multiplication. @ Addition for singleton numbers. A&Multiplication for singleton numbers. BComparison via type-class. Comparison via GADTs. /Boolean-valued type-level comparison function. Convert integral numbers into  Convert  into normal integers. Convert 'SNat n' into normal integers. Quotesi-quoter for 8. This can be used for an expression, pattern and type.  for example: sing :: SNat ([nat| 2 |] :+ [nat| 5 |]) Quotesi-quoter for 08. This can be used for an expression, pattern and type.  For example:  [snat|12|] @ [snat| 5 |],  :: [snat| 12 |],  f [snat| 12 |] = "hey"   !"#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3  !"#$%&'()*+,-./      !"#$%&'()*+,-./0123456789:;<=>?@AB0CD123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0/1245368<@=7:?A9;>B lkjihgfedcba`_^]\[ZYXmnopqrstuvwxyz{|}~.-,+*)('&%$#"! WVUTSRQPONMLKJIHGFEDC  !"#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~E      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~12121212121212121212121111111111111111212 12 12 12 12 1111111111111111111111111 1!1"1#1$%1$&1$'1$(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@ABCtype-natural-0.0.3.0Data.Type.NaturalNatSZmaxminzeroonetwothreefourfivesixseveneightnineteneleventwelvethirteenfourteenfifteensixteen seventeeneighteennineteentwentyn20n19n18n17n16n15n14n13n12n11n10n9n8n7n6n5n4n3n2n1n0singletons-0.8.6Data.Singletons.ExportsSingSNatsZsSMaxMinsMinsMax:*::+::-::*:-:+%:+%:-%:*%+%*:<=N20N19N18N17N16N15N14N13N12N11N10N9N8N7N6N5N4N3N2N1N0TwentyNineteenEighteen SeventeenSixteenFifteenFourteenThirteenTwelveElevenTenNineEightSevenSixFiveFourThreeTwoOneZerosZerosOnesTwosThreesFoursFivesSixsSevensEightsNinesTensElevensTwelve sThirteen sFourteensFifteensSixteen sSeventeen sEighteen sNineteensTwentysN0sN1sN2sN3sN4sN5sN6sN7sN8sN9sN10sN11sN12sN13sN14sN15sN16sN17sN18sN19sN20 LeqInstanceLeqTrueInstanceLeq SuccLeqSuccZeroLeq:<<=%:<<=%- propToBoolLeq boolToPropLeqboolToClassLeqpropToClassLeqleqReflleqSuccleqRhsleqLhsleqTransplusZR eqPreservesSplusZL succCongEq sAndPlusOneplusAssociativeplusSR plusMonotone plusCongL plusCongR succPlusL succPlusR minusCongEqminusNilpotentplusCommutative eqSuccMinusplusLeqLplusLeqR plusMinusEqL plusMinusEqR zAbsorbsMinR zAbsorbsMinLminLeqLminLeqRminCommleqAnitsymmetricmaxZLmaxCommmaxZRmaxLeqLmaxLeqR multPlusDistr plusMultDistrmultAssociativemultZLmultZRmultOneLmultOneR multCongL multCongRmultCommintToNatnatToInt sNatToIntnatsnatsing-+*<<=$fSEqNatKindParam$fNumNat$f:<=SS$f:<=Zn MultPlusDistrunMultPlusDistr:<: SuccLtSucc ZeroLtSuccinfer$fMonomorphicableNatSing$fPropositionNatMultPlusDistr$fPreorderNatLeqghc-primGHC.PrimAnyTailSingRep singInstanceSingKind SingInstanceSingIfromSing DemoteRepSingEData.SingletonsSTuple7STuple6STuple5STuple4STuple3STuple2STuple0STrueSRightSNothingSNilSLeftSJustSFalseSConsKindOf KindParamKindIsIfHeadDemoteSMaybeSList%==%%/=%SEqSEitherSBoolNot:||::||:==::==:/=::/=:++:&&::&&Data.Singletons.Singletons singletonssingEqInstancessingEqInstance genSingletonsData.Singletons.PromotepromoteEqInstancespromoteEqInstancepromote genPromotionssTuple7sTuple6sTuple5sTuple4sTuple3sTuple2sTuple0sTruesRightsNothingsNotsNilsLeftsJustsIfsFalsesConscasesbugInGHC%:||%:==%:/=%:++%:&&SSSZ