Copyright | (c) Eric Crockett 2011-2017 Chris Peikert 2011-2017 |
---|---|
License | GPL-2 |
Maintainer | ecrockett0@email.com |
Stability | experimental |
Portability | POSIX \( \def\lcm{\text{lcm}} \) |
Safe Haskell | None |
Language | Haskell2010 |
Crypto.Lol.Factored
Contents
- Factored natural numbers
- Prime powers
- Primes
- Constructors
- Unwrappers
- Arithmetic operations
- Convenient reflections
- Data-level equivalents of reflections for
Factored
data - Number-theoretic laws
- Utility operations on prime powers
- Re-export
- Positive naturals in Peano representation
- Positive naturals in binary representation
- Miscellaneous
- Convenient synonyms for
Pos
andBin
types - Convenient synonyms for
Factored
,PrimePower
, andPrime
types
Description
This module defines types and operations for type-level representation and manipulation of natural numbers, as represented by their prime-power factorizations. It relies on Template Haskell, so parts of the documentation may be difficult to read. See source-level comments for further details.
- data Factored
- type SFactored = (Sing :: Factored -> Type)
- type Fact m = SingI m
- fType :: Int -> TypeQ
- fDec :: Int -> DecQ
- reifyFact :: Int -> (forall m. SFactored m -> a) -> a
- reifyFactI :: Int -> (forall m proxy. Fact m => proxy m -> a) -> a
- intToFact :: Int -> Factored
- data PrimePower
- type SPrimePower = (Sing :: PrimePower -> Type)
- data family Sing k (a :: k) :: *
- type PPow pp = SingI pp
- ppType :: PP -> TypeQ
- ppDec :: PP -> DecQ
- reifyPPow :: (Int, Int) -> (forall pp. SPrimePower pp -> a) -> a
- reifyPPowI :: (Int, Int) -> (forall pp proxy. PPow pp => proxy pp -> a) -> a
- data PrimeBin
- type SPrimeBin = (Sing :: PrimeBin -> Type)
- type Prime p = SingI p
- pType :: Int -> TypeQ
- pDec :: Int -> DecQ
- reifyPrime :: Int -> (forall p. SPrimeBin p -> a) -> a
- reifyPrimeI :: Int -> (forall p proxy. Prime p => proxy p -> a) -> a
- valueP :: PrimeBin -> Int
- pToPP :: PrimeBin -> PrimePower
- sPToPP :: forall t. Sing t -> Sing (Apply PToPPSym0 t :: PrimePower)
- type family PToPP (a :: PrimeBin) :: PrimePower where ...
- ppToF :: PrimePower -> Factored
- sPpToF :: forall t. Sing t -> Sing (Apply PpToFSym0 t :: Factored)
- type family PpToF (a :: PrimePower) :: Factored where ...
- pToF :: PrimeBin -> Factored
- sPToF :: forall t. Sing t -> Sing (Apply PToFSym0 t :: Factored)
- type family PToF (a :: PrimeBin) :: Factored where ...
- unF :: Factored -> [PrimePower]
- sUnF :: forall t. Sing t -> Sing (Apply UnFSym0 t :: [PrimePower])
- type family UnF (a :: Factored) :: [PrimePower] where ...
- unPP :: PrimePower -> (PrimeBin, Pos)
- sUnPP :: forall t. Sing t -> Sing (Apply UnPPSym0 t :: (PrimeBin, Pos))
- type family UnPP (a :: PrimePower) :: (PrimeBin, Pos) where ...
- primePP :: PrimePower -> PrimeBin
- type family PrimePP (a :: PrimePower) :: PrimeBin where ...
- exponentPP :: PrimePower -> Pos
- type family ExponentPP (a :: PrimePower) :: Pos where ...
- fPPMul :: PrimePower -> Factored -> Factored
- type family FPPMul (a :: PrimePower) (a :: Factored) :: Factored where ...
- fMul :: Factored -> Factored -> Factored
- type family FMul (a :: Factored) (a :: Factored) :: Factored where ...
- type * a b = FMul a b
- fDivides :: Factored -> Factored -> Bool
- type family FDivides (a :: Factored) (a :: Factored) :: Bool where ...
- type Divides m m' = (Fact m, Fact m', FDivides m m' ~ True)
- fDiv :: Factored -> Factored -> Factored
- type family FDiv (a :: Factored) (a :: Factored) :: Factored where ...
- type (/) a b = FDiv a b
- fGCD :: Factored -> Factored -> Factored
- type family FGCD (a :: Factored) (a :: Factored) :: Factored where ...
- fLCM :: Factored -> Factored -> Factored
- type family FLCM (a :: Factored) (a :: Factored) :: Factored where ...
- type Coprime m m' = FGCD m m' ~ F1
- fOddRadical :: Factored -> Factored
- type family FOddRadical (a :: Factored) :: Factored where ...
- pFree :: PrimeBin -> Factored -> Factored
- type family PFree (a :: PrimeBin) (a :: Factored) :: Factored where ...
- ppsFact :: forall m. Fact m => Tagged m [PP]
- valueFact :: Fact m => Tagged m Int
- totientFact :: Fact m => Tagged m Int
- radicalFact :: Fact m => Tagged m Int
- oddRadicalFact :: Fact m => Tagged m Int
- valueHatFact :: Fact m => Tagged m Int
- ppPPow :: forall pp. PPow pp => Tagged pp PP
- primePPow :: PPow pp => Tagged pp Int
- exponentPPow :: PPow pp => Tagged pp Int
- valuePPow :: PPow pp => Tagged pp Int
- totientPPow :: PPow pp => Tagged pp Int
- radicalPPow :: PPow pp => Tagged pp Int
- oddRadicalPPow :: PPow pp => Tagged pp Int
- valueHatPPow :: PPow pp => Tagged pp Int
- valuePrime :: forall p. Prime p => Tagged p Int
- valueF :: Factored -> Int
- totientF :: Factored -> Int
- radicalF :: Factored -> Int
- oddRadicalF :: Factored -> Int
- valueHatF :: Factored -> Int
- transDivides :: forall k l m. Proxy k -> Proxy l -> Proxy m -> (k `Divides` l, l `Divides` m) :- (k `Divides` m)
- gcdDivides :: forall m1 m2 g. Proxy m1 -> Proxy m2 -> (Fact m1, Fact m2, g ~ FGCD m1 m2) :- (g `Divides` m1, g `Divides` m2)
- lcmDivides :: forall m1 m2 l. Proxy m1 -> Proxy m2 -> (Fact m1, Fact m2, l ~ FLCM m1 m2) :- (m1 `Divides` l, m2 `Divides` l)
- lcm2Divides :: forall m1 m2 l m. Proxy m1 -> Proxy m2 -> Proxy m -> (m1 `Divides` m, m2 `Divides` m, l ~ FLCM m1 m2) :- (m1 `Divides` l, m2 `Divides` l, FLCM m1 m2 `Divides` m)
- pSplitTheorems :: forall p m f. Proxy p -> Proxy m -> (Prime p, Fact m, f ~ PFree p m) :- (f `Divides` m, Coprime (PToF p) f)
- pFreeDivides :: forall p m m'. Proxy p -> Proxy m -> Proxy m' -> (Prime p, m `Divides` m') :- (PFree p m `Divides` PFree p m')
- (\\) :: a => (b -> r) -> (:-) a b -> r
- valueHat :: Integral i => i -> i
- type PP = (Int, Int)
- ppToPP :: PrimePower -> PP
- valuePP :: PP -> Int
- totientPP :: PP -> Int
- radicalPP :: PP -> Int
- oddRadicalPP :: PP -> Int
- valueHatPP :: PP -> Int
- data Pos
- data family Sing k (a :: k) :: *
- type SPos = (Sing :: Pos -> Type)
- type PosC p = SingI p
- posType :: Int -> TypeQ
- posDec :: Int -> DecQ
- reifyPos :: Int -> (forall p. SPos p -> a) -> a
- reifyPosI :: Int -> (forall p proxy. PosC p => proxy p -> a) -> a
- posToInt :: C z => Pos -> z
- intToPos :: C z => z -> Pos
- addPos :: Pos -> Pos -> Pos
- sAddPos :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply AddPosSym0 t) t :: Pos)
- type family AddPos (a :: Pos) (a :: Pos) :: Pos where ...
- subPos :: Pos -> Pos -> Pos
- sSubPos :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply SubPosSym0 t) t :: Pos)
- type family SubPos (a :: Pos) (a :: Pos) :: Pos where ...
- type OSym0 = O
- data SSym0 l
- type SSym1 t = S t
- data AddPosSym0 l
- data AddPosSym1 l l
- data SubPosSym0 l
- data SubPosSym1 l l
- data Bin
- data family Sing k (a :: k) :: *
- type SBin = (Sing :: Bin -> Type)
- type BinC b = SingI b
- binType :: Int -> TypeQ
- binDec :: Int -> DecQ
- reifyBin :: Int -> (forall b. SBin b -> a) -> a
- reifyBinI :: Int -> (forall b proxy. BinC b => proxy b -> a) -> a
- binToInt :: C z => Bin -> z
- intToBin :: C z => z -> Bin
- type B1Sym0 = B1
- data D0Sym0 l
- type D0Sym1 t = D0 t
- data D1Sym0 l
- type D1Sym1 t = D1 t
- intDec :: String -> (Int -> TypeQ) -> Int -> DecQ
- primes :: [Int]
- prime :: Int -> Bool
- type P1 = O
- type P2 = S O
- type P3 = S (S O)
- type P4 = S (S (S O))
- type P5 = S (S (S (S O)))
- type P6 = S (S (S (S (S O))))
- type P7 = S (S (S (S (S (S O)))))
- type P8 = S (S (S (S (S (S (S O))))))
- type P9 = S (S (S (S (S (S (S (S O)))))))
- type P10 = S (S (S (S (S (S (S (S (S O))))))))
- type P11 = S (S (S (S (S (S (S (S (S (S O)))))))))
- type P12 = S (S (S (S (S (S (S (S (S (S (S O))))))))))
- type P13 = S (S (S (S (S (S (S (S (S (S (S (S O)))))))))))
- type P14 = S (S (S (S (S (S (S (S (S (S (S (S (S O))))))))))))
- type P15 = S (S (S (S (S (S (S (S (S (S (S (S (S (S O)))))))))))))
- type P16 = S (S (S (S (S (S (S (S (S (S (S (S (S (S (S O))))))))))))))
- type B1 = B1
- type B2 = D0 B1
- type B3 = D1 B1
- type B4 = D0 (D0 B1)
- type B5 = D1 (D0 B1)
- type B6 = D0 (D1 B1)
- type B7 = D1 (D1 B1)
- type B8 = D0 (D0 (D0 B1))
- type B9 = D1 (D0 (D0 B1))
- type B10 = D0 (D1 (D0 B1))
- type B11 = D1 (D1 (D0 B1))
- type B12 = D0 (D0 (D1 B1))
- type B13 = D1 (D0 (D1 B1))
- type B14 = D0 (D1 (D1 B1))
- type B15 = D1 (D1 (D1 B1))
- type B16 = D0 (D0 (D0 (D0 B1)))
- type B17 = D1 (D0 (D0 (D0 B1)))
- type B18 = D0 (D1 (D0 (D0 B1)))
- type B19 = D1 (D1 (D0 (D0 B1)))
- type B20 = D0 (D0 (D1 (D0 B1)))
- type B21 = D1 (D0 (D1 (D0 B1)))
- type B22 = D0 (D1 (D1 (D0 B1)))
- type B23 = D1 (D1 (D1 (D0 B1)))
- type B24 = D0 (D0 (D0 (D1 B1)))
- type B25 = D1 (D0 (D0 (D1 B1)))
- type B26 = D0 (D1 (D0 (D1 B1)))
- type B27 = D1 (D1 (D0 (D1 B1)))
- type B28 = D0 (D0 (D1 (D1 B1)))
- type B29 = D1 (D0 (D1 (D1 B1)))
- type B30 = D0 (D1 (D1 (D1 B1)))
- type B31 = D1 (D1 (D1 (D1 B1)))
- type B32 = D0 (D0 (D0 (D0 (D0 B1))))
- type B33 = D1 (D0 (D0 (D0 (D0 B1))))
- type B34 = D0 (D1 (D0 (D0 (D0 B1))))
- type B35 = D1 (D1 (D0 (D0 (D0 B1))))
- type B36 = D0 (D0 (D1 (D0 (D0 B1))))
- type B37 = D1 (D0 (D1 (D0 (D0 B1))))
- type B38 = D0 (D1 (D1 (D0 (D0 B1))))
- type B39 = D1 (D1 (D1 (D0 (D0 B1))))
- type B40 = D0 (D0 (D0 (D1 (D0 B1))))
- type B41 = D1 (D0 (D0 (D1 (D0 B1))))
- type B42 = D0 (D1 (D0 (D1 (D0 B1))))
- type B43 = D1 (D1 (D0 (D1 (D0 B1))))
- type B44 = D0 (D0 (D1 (D1 (D0 B1))))
- type B45 = D1 (D0 (D1 (D1 (D0 B1))))
- type B46 = D0 (D1 (D1 (D1 (D0 B1))))
- type B47 = D1 (D1 (D1 (D1 (D0 B1))))
- type B48 = D0 (D0 (D0 (D0 (D1 B1))))
- type B49 = D1 (D0 (D0 (D0 (D1 B1))))
- type B50 = D0 (D1 (D0 (D0 (D1 B1))))
- type B51 = D1 (D1 (D0 (D0 (D1 B1))))
- type B52 = D0 (D0 (D1 (D0 (D1 B1))))
- type B53 = D1 (D0 (D1 (D0 (D1 B1))))
- type B54 = D0 (D1 (D1 (D0 (D1 B1))))
- type B55 = D1 (D1 (D1 (D0 (D1 B1))))
- type B56 = D0 (D0 (D0 (D1 (D1 B1))))
- type B57 = D1 (D0 (D0 (D1 (D1 B1))))
- type B58 = D0 (D1 (D0 (D1 (D1 B1))))
- type B59 = D1 (D1 (D0 (D1 (D1 B1))))
- type B60 = D0 (D0 (D1 (D1 (D1 B1))))
- type B61 = D1 (D0 (D1 (D1 (D1 B1))))
- type B62 = D0 (D1 (D1 (D1 (D1 B1))))
- type B63 = D1 (D1 (D1 (D1 (D1 B1))))
- type B64 = D0 (D0 (D0 (D0 (D0 (D0 B1)))))
- type B65 = D1 (D0 (D0 (D0 (D0 (D0 B1)))))
- type B66 = D0 (D1 (D0 (D0 (D0 (D0 B1)))))
- type B67 = D1 (D1 (D0 (D0 (D0 (D0 B1)))))
- type B68 = D0 (D0 (D1 (D0 (D0 (D0 B1)))))
- type B69 = D1 (D0 (D1 (D0 (D0 (D0 B1)))))
- type B70 = D0 (D1 (D1 (D0 (D0 (D0 B1)))))
- type B71 = D1 (D1 (D1 (D0 (D0 (D0 B1)))))
- type B72 = D0 (D0 (D0 (D1 (D0 (D0 B1)))))
- type B73 = D1 (D0 (D0 (D1 (D0 (D0 B1)))))
- type B74 = D0 (D1 (D0 (D1 (D0 (D0 B1)))))
- type B75 = D1 (D1 (D0 (D1 (D0 (D0 B1)))))
- type B76 = D0 (D0 (D1 (D1 (D0 (D0 B1)))))
- type B77 = D1 (D0 (D1 (D1 (D0 (D0 B1)))))
- type B78 = D0 (D1 (D1 (D1 (D0 (D0 B1)))))
- type B79 = D1 (D1 (D1 (D1 (D0 (D0 B1)))))
- type B80 = D0 (D0 (D0 (D0 (D1 (D0 B1)))))
- type B81 = D1 (D0 (D0 (D0 (D1 (D0 B1)))))
- type B82 = D0 (D1 (D0 (D0 (D1 (D0 B1)))))
- type B83 = D1 (D1 (D0 (D0 (D1 (D0 B1)))))
- type B84 = D0 (D0 (D1 (D0 (D1 (D0 B1)))))
- type B85 = D1 (D0 (D1 (D0 (D1 (D0 B1)))))
- type B86 = D0 (D1 (D1 (D0 (D1 (D0 B1)))))
- type B87 = D1 (D1 (D1 (D0 (D1 (D0 B1)))))
- type B88 = D0 (D0 (D0 (D1 (D1 (D0 B1)))))
- type B89 = D1 (D0 (D0 (D1 (D1 (D0 B1)))))
- type B90 = D0 (D1 (D0 (D1 (D1 (D0 B1)))))
- type B91 = D1 (D1 (D0 (D1 (D1 (D0 B1)))))
- type B92 = D0 (D0 (D1 (D1 (D1 (D0 B1)))))
- type B93 = D1 (D0 (D1 (D1 (D1 (D0 B1)))))
- type B94 = D0 (D1 (D1 (D1 (D1 (D0 B1)))))
- type B95 = D1 (D1 (D1 (D1 (D1 (D0 B1)))))
- type B96 = D0 (D0 (D0 (D0 (D0 (D1 B1)))))
- type B97 = D1 (D0 (D0 (D0 (D0 (D1 B1)))))
- type B98 = D0 (D1 (D0 (D0 (D0 (D1 B1)))))
- type B99 = D1 (D1 (D0 (D0 (D0 (D1 B1)))))
- type B100 = D0 (D0 (D1 (D0 (D0 (D1 B1)))))
- type B101 = D1 (D0 (D1 (D0 (D0 (D1 B1)))))
- type B102 = D0 (D1 (D1 (D0 (D0 (D1 B1)))))
- type B103 = D1 (D1 (D1 (D0 (D0 (D1 B1)))))
- type B104 = D0 (D0 (D0 (D1 (D0 (D1 B1)))))
- type B105 = D1 (D0 (D0 (D1 (D0 (D1 B1)))))
- type B106 = D0 (D1 (D0 (D1 (D0 (D1 B1)))))
- type B107 = D1 (D1 (D0 (D1 (D0 (D1 B1)))))
- type B108 = D0 (D0 (D1 (D1 (D0 (D1 B1)))))
- type B109 = D1 (D0 (D1 (D1 (D0 (D1 B1)))))
- type B110 = D0 (D1 (D1 (D1 (D0 (D1 B1)))))
- type B111 = D1 (D1 (D1 (D1 (D0 (D1 B1)))))
- type B112 = D0 (D0 (D0 (D0 (D1 (D1 B1)))))
- type B113 = D1 (D0 (D0 (D0 (D1 (D1 B1)))))
- type B114 = D0 (D1 (D0 (D0 (D1 (D1 B1)))))
- type B115 = D1 (D1 (D0 (D0 (D1 (D1 B1)))))
- type B116 = D0 (D0 (D1 (D0 (D1 (D1 B1)))))
- type B117 = D1 (D0 (D1 (D0 (D1 (D1 B1)))))
- type B118 = D0 (D1 (D1 (D0 (D1 (D1 B1)))))
- type B119 = D1 (D1 (D1 (D0 (D1 (D1 B1)))))
- type B120 = D0 (D0 (D0 (D1 (D1 (D1 B1)))))
- type B121 = D1 (D0 (D0 (D1 (D1 (D1 B1)))))
- type B122 = D0 (D1 (D0 (D1 (D1 (D1 B1)))))
- type B123 = D1 (D1 (D0 (D1 (D1 (D1 B1)))))
- type B124 = D0 (D0 (D1 (D1 (D1 (D1 B1)))))
- type B125 = D1 (D0 (D1 (D1 (D1 (D1 B1)))))
- type B126 = D0 (D1 (D1 (D1 (D1 (D1 B1)))))
- type B127 = D1 (D1 (D1 (D1 (D1 (D1 B1)))))
- type B128 = D0 (D0 (D0 (D0 (D0 (D0 (D0 B1))))))
- type F1 = F '[]
- type F2 = F '[PP '(P (D0 B1), O)]
- type F3 = F '[PP '(P (D1 B1), O)]
- type F4 = F '[PP '(P (D0 B1), S O)]
- type F5 = F '[PP '(P (D1 (D0 B1)), O)]
- type F6 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O)]
- type F7 = F '[PP '(P (D1 (D1 B1)), O)]
- type F8 = F '[PP '(P (D0 B1), S (S O))]
- type F9 = F '[PP '(P (D1 B1), S O)]
- type F10 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O)]
- type F11 = F '[PP '(P (D1 (D1 (D0 B1))), O)]
- type F12 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O)]
- type F13 = F '[PP '(P (D1 (D0 (D1 B1))), O)]
- type F14 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O)]
- type F15 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O)]
- type F16 = F '[PP '(P (D0 B1), S (S (S O)))]
- type F17 = F '[PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F18 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O)]
- type F19 = F '[PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F20 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O)]
- type F21 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O)]
- type F22 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F23 = F '[PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F24 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O)]
- type F25 = F '[PP '(P (D1 (D0 B1)), S O)]
- type F26 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F27 = F '[PP '(P (D1 B1), S (S O))]
- type F28 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 B1)), O)]
- type F29 = F '[PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F30 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O)]
- type F31 = F '[PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F32 = F '[PP '(P (D0 B1), S (S (S (S O))))]
- type F33 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F34 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F35 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)]
- type F36 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), S O)]
- type F37 = F '[PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F38 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F39 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F40 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 B1)), O)]
- type F41 = F '[PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F42 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O)]
- type F43 = F '[PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F44 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F45 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 B1)), O)]
- type F46 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F47 = F '[PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F48 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 B1), O)]
- type F49 = F '[PP '(P (D1 (D1 B1)), S O)]
- type F50 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), S O)]
- type F51 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F52 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F53 = F '[PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)]
- type F54 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S (S O))]
- type F55 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F56 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D1 B1)), O)]
- type F57 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F58 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F59 = F '[PP '(P (D1 (D1 (D0 (D1 (D1 B1))))), O)]
- type F60 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O)]
- type F61 = F '[PP '(P (D1 (D0 (D1 (D1 (D1 B1))))), O)]
- type F62 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F63 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D1 B1)), O)]
- type F64 = F '[PP '(P (D0 B1), S (S (S (S (S O)))))]
- type F65 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F66 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F67 = F '[PP '(P (D1 (D1 (D0 (D0 (D0 (D0 B1)))))), O)]
- type F68 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F69 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F70 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)]
- type F71 = F '[PP '(P (D1 (D1 (D1 (D0 (D0 (D0 B1)))))), O)]
- type F72 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), S O)]
- type F73 = F '[PP '(P (D1 (D0 (D0 (D1 (D0 (D0 B1)))))), O)]
- type F74 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F75 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), S O)]
- type F76 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F77 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F78 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F79 = F '[PP '(P (D1 (D1 (D1 (D1 (D0 (D0 B1)))))), O)]
- type F80 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D0 B1)), O)]
- type F81 = F '[PP '(P (D1 B1), S (S (S O)))]
- type F82 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F83 = F '[PP '(P (D1 (D1 (D0 (D0 (D1 (D0 B1)))))), O)]
- type F84 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O)]
- type F85 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F86 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F87 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F88 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D1 (D0 B1))), O)]
- type F89 = F '[PP '(P (D1 (D0 (D0 (D1 (D1 (D0 B1)))))), O)]
- type F90 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D0 B1)), O)]
- type F91 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F92 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F93 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F94 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F95 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F96 = F '[PP '(P (D0 B1), S (S (S (S O)))), PP '(P (D1 B1), O)]
- type F97 = F '[PP '(P (D1 (D0 (D0 (D0 (D0 (D1 B1)))))), O)]
- type F98 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), S O)]
- type F99 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F100 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), S O)]
- type F101 = F '[PP '(P (D1 (D0 (D1 (D0 (D0 (D1 B1)))))), O)]
- type F102 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F103 = F '[PP '(P (D1 (D1 (D1 (D0 (D0 (D1 B1)))))), O)]
- type F104 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 (D1 B1))), O)]
- type F105 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)]
- type F106 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)]
- type F107 = F '[PP '(P (D1 (D1 (D0 (D1 (D0 (D1 B1)))))), O)]
- type F108 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), S (S O))]
- type F109 = F '[PP '(P (D1 (D0 (D1 (D1 (D0 (D1 B1)))))), O)]
- type F110 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F111 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F112 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D1 B1)), O)]
- type F113 = F '[PP '(P (D1 (D0 (D0 (D0 (D1 (D1 B1)))))), O)]
- type F114 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F115 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F116 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F117 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F118 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D1 (D1 B1))))), O)]
- type F119 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F120 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O)]
- type F121 = F '[PP '(P (D1 (D1 (D0 B1))), S O)]
- type F122 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D1 (D1 B1))))), O)]
- type F123 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F124 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F125 = F '[PP '(P (D1 (D0 B1)), S (S O))]
- type F126 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D1 B1)), O)]
- type F127 = F '[PP '(P (D1 (D1 (D1 (D1 (D1 (D1 B1)))))), O)]
- type F128 = F '[PP '(P (D0 B1), S (S (S (S (S (S O))))))]
- type F129 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F130 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F131 = F '[PP '(P (D1 (D1 (D0 (D0 (D0 (D0 (D0 B1))))))), O)]
- type F132 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F133 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F134 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D0 B1)))))), O)]
- type F135 = F '[PP '(P (D1 B1), S (S O)), PP '(P (D1 (D0 B1)), O)]
- type F136 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F137 = F '[PP '(P (D1 (D0 (D0 (D1 (D0 (D0 (D0 B1))))))), O)]
- type F138 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F139 = F '[PP '(P (D1 (D1 (D0 (D1 (D0 (D0 (D0 B1))))))), O)]
- type F140 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)]
- type F141 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F142 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D0 B1)))))), O)]
- type F143 = F '[PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F144 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 B1), S O)]
- type F145 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F146 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 (D0 B1)))))), O)]
- type F147 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), S O)]
- type F148 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F149 = F '[PP '(P (D1 (D0 (D1 (D0 (D1 (D0 (D0 B1))))))), O)]
- type F150 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), S O)]
- type F151 = F '[PP '(P (D1 (D1 (D1 (D0 (D1 (D0 (D0 B1))))))), O)]
- type F152 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F153 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F154 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F155 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F156 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F157 = F '[PP '(P (D1 (D0 (D1 (D1 (D1 (D0 (D0 B1))))))), O)]
- type F158 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D1 (D0 (D0 B1)))))), O)]
- type F159 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)]
- type F160 = F '[PP '(P (D0 B1), S (S (S (S O)))), PP '(P (D1 (D0 B1)), O)]
- type F161 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F162 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S (S (S O)))]
- type F163 = F '[PP '(P (D1 (D1 (D0 (D0 (D0 (D1 (D0 B1))))))), O)]
- type F164 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F165 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F166 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D0 (D1 (D0 B1)))))), O)]
- type F167 = F '[PP '(P (D1 (D1 (D1 (D0 (D0 (D1 (D0 B1))))))), O)]
- type F168 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O)]
- type F169 = F '[PP '(P (D1 (D0 (D1 B1))), S O)]
- type F170 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F171 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F172 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F173 = F '[PP '(P (D1 (D0 (D1 (D1 (D0 (D1 (D0 B1))))))), O)]
- type F174 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F175 = F '[PP '(P (D1 (D0 B1)), S O), PP '(P (D1 (D1 B1)), O)]
- type F176 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D1 (D0 B1))), O)]
- type F177 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D1 (D1 B1))))), O)]
- type F178 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D1 (D1 (D0 B1)))))), O)]
- type F179 = F '[PP '(P (D1 (D1 (D0 (D0 (D1 (D1 (D0 B1))))))), O)]
- type F180 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), S O), PP '(P (D1 (D0 B1)), O)]
- type F181 = F '[PP '(P (D1 (D0 (D1 (D0 (D1 (D1 (D0 B1))))))), O)]
- type F182 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F183 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D1 (D1 B1))))), O)]
- type F184 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F185 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F186 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F187 = F '[PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F188 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F189 = F '[PP '(P (D1 B1), S (S O)), PP '(P (D1 (D1 B1)), O)]
- type F190 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F191 = F '[PP '(P (D1 (D1 (D1 (D1 (D1 (D1 (D0 B1))))))), O)]
- type F192 = F '[PP '(P (D0 B1), S (S (S (S (S O))))), PP '(P (D1 B1), O)]
- type F193 = F '[PP '(P (D1 (D0 (D0 (D0 (D0 (D0 (D1 B1))))))), O)]
- type F194 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D0 (D0 (D1 B1)))))), O)]
- type F195 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F196 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 B1)), S O)]
- type F197 = F '[PP '(P (D1 (D0 (D1 (D0 (D0 (D0 (D1 B1))))))), O)]
- type F198 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F199 = F '[PP '(P (D1 (D1 (D1 (D0 (D0 (D0 (D1 B1))))))), O)]
- type F200 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 B1)), S O)]
- type F201 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D0 B1)))))), O)]
- type F202 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 (D1 B1)))))), O)]
- type F203 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F204 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F205 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F206 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D1 B1)))))), O)]
- type F207 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F208 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D0 (D1 B1))), O)]
- type F209 = F '[PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F210 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)]
- type F211 = F '[PP '(P (D1 (D1 (D0 (D0 (D1 (D0 (D1 B1))))))), O)]
- type F212 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)]
- type F213 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D0 B1)))))), O)]
- type F214 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D1 (D0 (D1 B1)))))), O)]
- type F215 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F216 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), S (S O))]
- type F217 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F218 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D1 (D0 (D1 B1)))))), O)]
- type F219 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 (D0 B1)))))), O)]
- type F220 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F221 = F '[PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F222 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F223 = F '[PP '(P (D1 (D1 (D1 (D1 (D1 (D0 (D1 B1))))))), O)]
- type F224 = F '[PP '(P (D0 B1), S (S (S (S O)))), PP '(P (D1 (D1 B1)), O)]
- type F225 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 B1)), S O)]
- type F226 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D0 (D1 (D1 B1)))))), O)]
- type F227 = F '[PP '(P (D1 (D1 (D0 (D0 (D0 (D1 (D1 B1))))))), O)]
- type F228 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F229 = F '[PP '(P (D1 (D0 (D1 (D0 (D0 (D1 (D1 B1))))))), O)]
- type F230 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F231 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F232 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F233 = F '[PP '(P (D1 (D0 (D0 (D1 (D0 (D1 (D1 B1))))))), O)]
- type F234 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F235 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F236 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D0 (D1 (D1 B1))))), O)]
- type F237 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 (D0 (D0 B1)))))), O)]
- type F238 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F239 = F '[PP '(P (D1 (D1 (D1 (D1 (D0 (D1 (D1 B1))))))), O)]
- type F240 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O)]
- type F241 = F '[PP '(P (D1 (D0 (D0 (D0 (D1 (D1 (D1 B1))))))), O)]
- type F242 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), S O)]
- type F243 = F '[PP '(P (D1 B1), S (S (S (S O))))]
- type F244 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D1 (D1 (D1 B1))))), O)]
- type F245 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), S O)]
- type F246 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F247 = F '[PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F248 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F249 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 (D1 (D0 B1)))))), O)]
- type F250 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), S (S O))]
- type F251 = F '[PP '(P (D1 (D1 (D0 (D1 (D1 (D1 (D1 B1))))))), O)]
- type F252 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), S O), PP '(P (D1 (D1 B1)), O)]
- type F253 = F '[PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F254 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D1 (D1 (D1 B1)))))), O)]
- type F255 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F256 = F '[PP '(P (D0 B1), S (S (S (S (S (S (S O)))))))]
- type F257 = F '[PP '(P (D1 (D0 (D0 (D0 (D0 (D0 (D0 (D0 B1)))))))), O)]
- type F258 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F259 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F260 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F261 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F262 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D0 (D0 B1))))))), O)]
- type F263 = F '[PP '(P (D1 (D1 (D1 (D0 (D0 (D0 (D0 (D0 B1)))))))), O)]
- type F264 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F265 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)]
- type F266 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F267 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D1 (D0 B1)))))), O)]
- type F268 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D0 (D0 (D0 (D0 B1)))))), O)]
- type F269 = F '[PP '(P (D1 (D0 (D1 (D1 (D0 (D0 (D0 (D0 B1)))))))), O)]
- type F270 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S (S O)), PP '(P (D1 (D0 B1)), O)]
- type F271 = F '[PP '(P (D1 (D1 (D1 (D1 (D0 (D0 (D0 (D0 B1)))))))), O)]
- type F272 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F273 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F274 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 (D0 (D0 B1))))))), O)]
- type F275 = F '[PP '(P (D1 (D0 B1)), S O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F276 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F277 = F '[PP '(P (D1 (D0 (D1 (D0 (D1 (D0 (D0 (D0 B1)))))))), O)]
- type F278 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D1 (D0 (D0 (D0 B1))))))), O)]
- type F279 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F280 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)]
- type F281 = F '[PP '(P (D1 (D0 (D0 (D1 (D1 (D0 (D0 (D0 B1)))))))), O)]
- type F282 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F283 = F '[PP '(P (D1 (D1 (D0 (D1 (D1 (D0 (D0 (D0 B1)))))))), O)]
- type F284 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D1 (D0 (D0 (D0 B1)))))), O)]
- type F285 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F286 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F287 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F288 = F '[PP '(P (D0 B1), S (S (S (S O)))), PP '(P (D1 B1), S O)]
- type F289 = F '[PP '(P (D1 (D0 (D0 (D0 B1)))), S O)]
- type F290 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F291 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D0 (D0 (D1 B1)))))), O)]
- type F292 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D0 (D1 (D0 (D0 B1)))))), O)]
- type F293 = F '[PP '(P (D1 (D0 (D1 (D0 (D0 (D1 (D0 (D0 B1)))))))), O)]
- type F294 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), S O)]
- type F295 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D1 (D1 B1))))), O)]
- type F296 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F297 = F '[PP '(P (D1 B1), S (S O)), PP '(P (D1 (D1 (D0 B1))), O)]
- type F298 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D0 (D1 (D0 (D0 B1))))))), O)]
- type F299 = F '[PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F300 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), S O)]
- type F301 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F302 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D0 (D1 (D0 (D0 B1))))))), O)]
- type F303 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 (D1 B1)))))), O)]
- type F304 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F305 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D1 (D1 B1))))), O)]
- type F306 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F307 = F '[PP '(P (D1 (D1 (D0 (D0 (D1 (D1 (D0 (D0 B1)))))))), O)]
- type F308 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F309 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D1 B1)))))), O)]
- type F310 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F311 = F '[PP '(P (D1 (D1 (D1 (D0 (D1 (D1 (D0 (D0 B1)))))))), O)]
- type F312 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F313 = F '[PP '(P (D1 (D0 (D0 (D1 (D1 (D1 (D0 (D0 B1)))))))), O)]
- type F314 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D1 (D1 (D0 (D0 B1))))))), O)]
- type F315 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)]
- type F316 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D1 (D1 (D0 (D0 B1)))))), O)]
- type F317 = F '[PP '(P (D1 (D0 (D1 (D1 (D1 (D1 (D0 (D0 B1)))))))), O)]
- type F318 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)]
- type F319 = F '[PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F320 = F '[PP '(P (D0 B1), S (S (S (S (S O))))), PP '(P (D1 (D0 B1)), O)]
- type F321 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D1 (D0 (D1 B1)))))), O)]
- type F322 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F323 = F '[PP '(P (D1 (D0 (D0 (D0 B1)))), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F324 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), S (S (S O)))]
- type F325 = F '[PP '(P (D1 (D0 B1)), S O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F326 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D1 (D0 B1))))))), O)]
- type F327 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D1 (D0 (D1 B1)))))), O)]
- type F328 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F329 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F330 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F331 = F '[PP '(P (D1 (D1 (D0 (D1 (D0 (D0 (D1 (D0 B1)))))))), O)]
- type F332 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D0 (D0 (D1 (D0 B1)))))), O)]
- type F333 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F334 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D1 (D0 B1))))))), O)]
- type F335 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D0 B1)))))), O)]
- type F336 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O)]
- type F337 = F '[PP '(P (D1 (D0 (D0 (D0 (D1 (D0 (D1 (D0 B1)))))))), O)]
- type F338 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 B1))), S O)]
- type F339 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D0 (D1 (D1 B1)))))), O)]
- type F340 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F341 = F '[PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F342 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F343 = F '[PP '(P (D1 (D1 B1)), S (S O))]
- type F344 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F345 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F346 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D1 (D0 (D1 (D0 B1))))))), O)]
- type F347 = F '[PP '(P (D1 (D1 (D0 (D1 (D1 (D0 (D1 (D0 B1)))))))), O)]
- type F348 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F349 = F '[PP '(P (D1 (D0 (D1 (D1 (D1 (D0 (D1 (D0 B1)))))))), O)]
- type F350 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), S O), PP '(P (D1 (D1 B1)), O)]
- type F351 = F '[PP '(P (D1 B1), S (S O)), PP '(P (D1 (D0 (D1 B1))), O)]
- type F352 = F '[PP '(P (D0 B1), S (S (S (S O)))), PP '(P (D1 (D1 (D0 B1))), O)]
- type F353 = F '[PP '(P (D1 (D0 (D0 (D0 (D0 (D1 (D1 (D0 B1)))))))), O)]
- type F354 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D1 (D1 B1))))), O)]
- type F355 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D0 B1)))))), O)]
- type F356 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D0 (D1 (D1 (D0 B1)))))), O)]
- type F357 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F358 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D0 (D1 (D1 (D0 B1))))))), O)]
- type F359 = F '[PP '(P (D1 (D1 (D1 (D0 (D0 (D1 (D1 (D0 B1)))))))), O)]
- type F360 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), S O), PP '(P (D1 (D0 B1)), O)]
- type F361 = F '[PP '(P (D1 (D1 (D0 (D0 B1)))), S O)]
- type F362 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D0 (D1 (D1 (D0 B1))))))), O)]
- type F363 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 B1))), S O)]
- type F364 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F365 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D1 (D0 (D0 B1)))))), O)]
- type F366 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D1 (D1 B1))))), O)]
- type F367 = F '[PP '(P (D1 (D1 (D1 (D1 (D0 (D1 (D1 (D0 B1)))))))), O)]
- type F368 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F369 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F370 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F371 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)]
- type F372 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F373 = F '[PP '(P (D1 (D0 (D1 (D0 (D1 (D1 (D1 (D0 B1)))))))), O)]
- type F374 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F375 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), S (S O))]
- type F376 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F377 = F '[PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F378 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S (S O)), PP '(P (D1 (D1 B1)), O)]
- type F379 = F '[PP '(P (D1 (D1 (D0 (D1 (D1 (D1 (D1 (D0 B1)))))))), O)]
- type F380 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F381 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 (D1 (D1 B1)))))), O)]
- type F382 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D1 (D1 (D1 (D0 B1))))))), O)]
- type F383 = F '[PP '(P (D1 (D1 (D1 (D1 (D1 (D1 (D1 (D0 B1)))))))), O)]
- type F384 = F '[PP '(P (D0 B1), S (S (S (S (S (S O)))))), PP '(P (D1 B1), O)]
- type F385 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F386 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D0 (D0 (D0 (D1 B1))))))), O)]
- type F387 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F388 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D0 (D0 (D0 (D1 B1)))))), O)]
- type F389 = F '[PP '(P (D1 (D0 (D1 (D0 (D0 (D0 (D0 (D1 B1)))))))), O)]
- type F390 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F391 = F '[PP '(P (D1 (D0 (D0 (D0 B1)))), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F392 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D1 B1)), S O)]
- type F393 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D0 (D0 B1))))))), O)]
- type F394 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 (D0 (D1 B1))))))), O)]
- type F395 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D1 (D0 (D0 B1)))))), O)]
- type F396 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F397 = F '[PP '(P (D1 (D0 (D1 (D1 (D0 (D0 (D0 (D1 B1)))))))), O)]
- type F398 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D0 (D1 B1))))))), O)]
- type F399 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F400 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D0 B1)), S O)]
- type F401 = F '[PP '(P (D1 (D0 (D0 (D0 (D1 (D0 (D0 (D1 B1)))))))), O)]
- type F402 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D0 B1)))))), O)]
- type F403 = F '[PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F404 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D1 (D0 (D0 (D1 B1)))))), O)]
- type F405 = F '[PP '(P (D1 B1), S (S (S O))), PP '(P (D1 (D0 B1)), O)]
- type F406 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F407 = F '[PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F408 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F409 = F '[PP '(P (D1 (D0 (D0 (D1 (D1 (D0 (D0 (D1 B1)))))))), O)]
- type F410 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F411 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 (D0 (D0 B1))))))), O)]
- type F412 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D1 (D0 (D0 (D1 B1)))))), O)]
- type F413 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 (D1 (D1 B1))))), O)]
- type F414 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F415 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D0 (D1 (D0 B1)))))), O)]
- type F416 = F '[PP '(P (D0 B1), S (S (S (S O)))), PP '(P (D1 (D0 (D1 B1))), O)]
- type F417 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D1 (D0 (D0 (D0 B1))))))), O)]
- type F418 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F419 = F '[PP '(P (D1 (D1 (D0 (D0 (D0 (D1 (D0 (D1 B1)))))))), O)]
- type F420 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)]
- type F421 = F '[PP '(P (D1 (D0 (D1 (D0 (D0 (D1 (D0 (D1 B1)))))))), O)]
- type F422 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D0 (D1 (D0 (D1 B1))))))), O)]
- type F423 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F424 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)]
- type F425 = F '[PP '(P (D1 (D0 B1)), S O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F426 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D0 B1)))))), O)]
- type F427 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 (D1 (D1 B1))))), O)]
- type F428 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D0 (D1 (D0 (D1 B1)))))), O)]
- type F429 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F430 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F431 = F '[PP '(P (D1 (D1 (D1 (D1 (D0 (D1 (D0 (D1 B1)))))))), O)]
- type F432 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 B1), S (S O))]
- type F433 = F '[PP '(P (D1 (D0 (D0 (D0 (D1 (D1 (D0 (D1 B1)))))))), O)]
- type F434 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F435 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F436 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D1 (D1 (D0 (D1 B1)))))), O)]
- type F437 = F '[PP '(P (D1 (D1 (D0 (D0 B1)))), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F438 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 (D0 B1)))))), O)]
- type F439 = F '[PP '(P (D1 (D1 (D1 (D0 (D1 (D1 (D0 (D1 B1)))))))), O)]
- type F440 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F441 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D1 B1)), S O)]
- type F442 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F443 = F '[PP '(P (D1 (D1 (D0 (D1 (D1 (D1 (D0 (D1 B1)))))))), O)]
- type F444 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F445 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D1 (D1 (D0 B1)))))), O)]
- type F446 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D1 (D1 (D0 (D1 B1))))))), O)]
- type F447 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D1 (D0 (D0 B1))))))), O)]
- type F448 = F '[PP '(P (D0 B1), S (S (S (S (S O))))), PP '(P (D1 (D1 B1)), O)]
- type F449 = F '[PP '(P (D1 (D0 (D0 (D0 (D0 (D0 (D1 (D1 B1)))))))), O)]
- type F450 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D0 B1)), S O)]
- type F451 = F '[PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F452 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 (D0 (D0 (D1 (D1 B1)))))), O)]
- type F453 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 (D1 (D0 (D0 B1))))))), O)]
- type F454 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D1 (D1 B1))))))), O)]
- type F455 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F456 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F457 = F '[PP '(P (D1 (D0 (D0 (D1 (D0 (D0 (D1 (D1 B1)))))))), O)]
- type F458 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 (D1 (D1 B1))))))), O)]
- type F459 = F '[PP '(P (D1 B1), S (S O)), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F460 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F461 = F '[PP '(P (D1 (D0 (D1 (D1 (D0 (D0 (D1 (D1 B1)))))))), O)]
- type F462 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F463 = F '[PP '(P (D1 (D1 (D1 (D1 (D0 (D0 (D1 (D1 B1)))))))), O)]
- type F464 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F465 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F466 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 (D1 (D1 B1))))))), O)]
- type F467 = F '[PP '(P (D1 (D1 (D0 (D0 (D1 (D0 (D1 (D1 B1)))))))), O)]
- type F468 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D1 B1))), O)]
- type F469 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D0 B1)))))), O)]
- type F470 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)]
- type F471 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D1 (D1 (D0 (D0 B1))))))), O)]
- type F472 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D1 (D0 (D1 (D1 B1))))), O)]
- type F473 = F '[PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)]
- type F474 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 (D0 (D0 B1)))))), O)]
- type F475 = F '[PP '(P (D1 (D0 B1)), S O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F476 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F477 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)]
- type F478 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D1 (D1 (D0 (D1 (D1 B1))))))), O)]
- type F479 = F '[PP '(P (D1 (D1 (D1 (D1 (D1 (D0 (D1 (D1 B1)))))))), O)]
- type F480 = F '[PP '(P (D0 B1), S (S (S (S O)))), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O)]
- type F481 = F '[PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)]
- type F482 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D0 (D0 (D1 (D1 (D1 B1))))))), O)]
- type F483 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F484 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D0 B1))), S O)]
- type F485 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D0 (D0 (D1 B1)))))), O)]
- type F486 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S (S (S (S O))))]
- type F487 = F '[PP '(P (D1 (D1 (D1 (D0 (D0 (D1 (D1 (D1 B1)))))))), O)]
- type F488 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 (D1 (D1 (D1 B1))))), O)]
- type F489 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D1 (D0 B1))))))), O)]
- type F490 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), S O)]
- type F491 = F '[PP '(P (D1 (D1 (D0 (D1 (D0 (D1 (D1 (D1 B1)))))))), O)]
- type F492 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)]
- type F493 = F '[PP '(P (D1 (D0 (D0 (D0 B1)))), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)]
- type F494 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)]
- type F495 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)]
- type F496 = F '[PP '(P (D0 B1), S (S (S O))), PP '(P (D1 (D1 (D1 (D1 B1)))), O)]
- type F497 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D0 B1)))))), O)]
- type F498 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 (D1 (D0 B1)))))), O)]
- type F499 = F '[PP '(P (D1 (D1 (D0 (D0 (D1 (D1 (D1 (D1 B1)))))))), O)]
- type F500 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), S (S O))]
- type F501 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D1 (D0 B1))))))), O)]
- type F502 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 (D1 (D1 (D1 (D1 B1))))))), O)]
- type F503 = F '[PP '(P (D1 (D1 (D1 (D0 (D1 (D1 (D1 (D1 B1)))))))), O)]
- type F504 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), S O), PP '(P (D1 (D1 B1)), O)]
- type F505 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D0 (D0 (D1 B1)))))), O)]
- type F506 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)]
- type F507 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 B1))), S O)]
- type F508 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 (D1 (D1 (D1 (D1 B1)))))), O)]
- type F509 = F '[PP '(P (D1 (D0 (D1 (D1 (D1 (D1 (D1 (D1 B1)))))))), O)]
- type F510 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)]
- type F511 = F '[PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D0 (D1 (D0 (D0 B1)))))), O)]
- type F512 = F '[PP '(P (D0 B1), S (S (S (S (S (S (S (S O))))))))]
- type F1024 = F '[PP '(P (D0 B1), S (S (S (S (S (S (S (S (S O)))))))))]
- type F2048 = F '[PP '(P (D0 B1), S (S (S (S (S (S (S (S (S (S O))))))))))]
- type PP2 = PP '(P (D0 B1), O)
- type PP4 = PP '(P (D0 B1), S O)
- type PP8 = PP '(P (D0 B1), S (S O))
- type PP16 = PP '(P (D0 B1), S (S (S O)))
- type PP32 = PP '(P (D0 B1), S (S (S (S O))))
- type PP64 = PP '(P (D0 B1), S (S (S (S (S O)))))
- type PP128 = PP '(P (D0 B1), S (S (S (S (S (S O))))))
- type PP3 = PP '(P (D1 B1), O)
- type PP9 = PP '(P (D1 B1), S O)
- type PP27 = PP '(P (D1 B1), S (S O))
- type PP81 = PP '(P (D1 B1), S (S (S O)))
- type PP5 = PP '(P (D1 (D0 B1)), O)
- type PP7 = PP '(P (D1 (D1 B1)), O)
- type PP11 = PP '(P (D1 (D1 (D0 B1))), O)
- type Prime2 = P (D0 B1)
- type Prime3 = P (D1 B1)
- type Prime5 = P (D1 (D0 B1))
- type Prime7 = P (D1 (D1 B1))
- type Prime11 = P (D1 (D1 (D0 B1)))
- type Prime13 = P (D1 (D0 (D1 B1)))
- type Prime17 = P (D1 (D0 (D0 (D0 B1))))
- type Prime19 = P (D1 (D1 (D0 (D0 B1))))
- type Prime23 = P (D1 (D1 (D1 (D0 B1))))
- type Prime29 = P (D1 (D0 (D1 (D1 B1))))
- type Prime31 = P (D1 (D1 (D1 (D1 B1))))
- type Prime37 = P (D1 (D0 (D1 (D0 (D0 B1)))))
- type Prime41 = P (D1 (D0 (D0 (D1 (D0 B1)))))
- type Prime43 = P (D1 (D1 (D0 (D1 (D0 B1)))))
- type Prime47 = P (D1 (D1 (D1 (D1 (D0 B1)))))
- type Prime53 = P (D1 (D0 (D1 (D0 (D1 B1)))))
- type Prime59 = P (D1 (D1 (D0 (D1 (D1 B1)))))
- type Prime61 = P (D1 (D0 (D1 (D1 (D1 B1)))))
- type Prime67 = P (D1 (D1 (D0 (D0 (D0 (D0 B1))))))
- type Prime71 = P (D1 (D1 (D1 (D0 (D0 (D0 B1))))))
- type Prime73 = P (D1 (D0 (D0 (D1 (D0 (D0 B1))))))
- type Prime79 = P (D1 (D1 (D1 (D1 (D0 (D0 B1))))))
- type Prime83 = P (D1 (D1 (D0 (D0 (D1 (D0 B1))))))
- type Prime89 = P (D1 (D0 (D0 (D1 (D1 (D0 B1))))))
- type Prime97 = P (D1 (D0 (D0 (D0 (D0 (D1 B1))))))
- type Prime101 = P (D1 (D0 (D1 (D0 (D0 (D1 B1))))))
- type Prime103 = P (D1 (D1 (D1 (D0 (D0 (D1 B1))))))
- type Prime107 = P (D1 (D1 (D0 (D1 (D0 (D1 B1))))))
- type Prime109 = P (D1 (D0 (D1 (D1 (D0 (D1 B1))))))
- type Prime113 = P (D1 (D0 (D0 (D0 (D1 (D1 B1))))))
- type Prime127 = P (D1 (D1 (D1 (D1 (D1 (D1 B1))))))
- type Prime131 = P (D1 (D1 (D0 (D0 (D0 (D0 (D0 B1)))))))
- type Prime137 = P (D1 (D0 (D0 (D1 (D0 (D0 (D0 B1)))))))
- type Prime139 = P (D1 (D1 (D0 (D1 (D0 (D0 (D0 B1)))))))
- type Prime149 = P (D1 (D0 (D1 (D0 (D1 (D0 (D0 B1)))))))
- type Prime151 = P (D1 (D1 (D1 (D0 (D1 (D0 (D0 B1)))))))
- type Prime157 = P (D1 (D0 (D1 (D1 (D1 (D0 (D0 B1)))))))
- type Prime163 = P (D1 (D1 (D0 (D0 (D0 (D1 (D0 B1)))))))
- type Prime167 = P (D1 (D1 (D1 (D0 (D0 (D1 (D0 B1)))))))
- type Prime173 = P (D1 (D0 (D1 (D1 (D0 (D1 (D0 B1)))))))
- type Prime179 = P (D1 (D1 (D0 (D0 (D1 (D1 (D0 B1)))))))
- type Prime181 = P (D1 (D0 (D1 (D0 (D1 (D1 (D0 B1)))))))
- type Prime191 = P (D1 (D1 (D1 (D1 (D1 (D1 (D0 B1)))))))
- type Prime193 = P (D1 (D0 (D0 (D0 (D0 (D0 (D1 B1)))))))
- type Prime197 = P (D1 (D0 (D1 (D0 (D0 (D0 (D1 B1)))))))
- type Prime199 = P (D1 (D1 (D1 (D0 (D0 (D0 (D1 B1)))))))
- type Prime211 = P (D1 (D1 (D0 (D0 (D1 (D0 (D1 B1)))))))
- type Prime223 = P (D1 (D1 (D1 (D1 (D1 (D0 (D1 B1)))))))
- type Prime227 = P (D1 (D1 (D0 (D0 (D0 (D1 (D1 B1)))))))
- type Prime229 = P (D1 (D0 (D1 (D0 (D0 (D1 (D1 B1)))))))
- type Prime233 = P (D1 (D0 (D0 (D1 (D0 (D1 (D1 B1)))))))
- type Prime239 = P (D1 (D1 (D1 (D1 (D0 (D1 (D1 B1)))))))
- type Prime241 = P (D1 (D0 (D0 (D0 (D1 (D1 (D1 B1)))))))
- type Prime251 = P (D1 (D1 (D0 (D1 (D1 (D1 (D1 B1)))))))
- type Prime257 = P (D1 (D0 (D0 (D0 (D0 (D0 (D0 (D0 B1))))))))
- type Prime263 = P (D1 (D1 (D1 (D0 (D0 (D0 (D0 (D0 B1))))))))
- type Prime269 = P (D1 (D0 (D1 (D1 (D0 (D0 (D0 (D0 B1))))))))
- type Prime271 = P (D1 (D1 (D1 (D1 (D0 (D0 (D0 (D0 B1))))))))
- type Prime277 = P (D1 (D0 (D1 (D0 (D1 (D0 (D0 (D0 B1))))))))
- type Prime281 = P (D1 (D0 (D0 (D1 (D1 (D0 (D0 (D0 B1))))))))
- type Prime283 = P (D1 (D1 (D0 (D1 (D1 (D0 (D0 (D0 B1))))))))
- type Prime293 = P (D1 (D0 (D1 (D0 (D0 (D1 (D0 (D0 B1))))))))
- type Prime307 = P (D1 (D1 (D0 (D0 (D1 (D1 (D0 (D0 B1))))))))
- type Prime311 = P (D1 (D1 (D1 (D0 (D1 (D1 (D0 (D0 B1))))))))
- type Prime313 = P (D1 (D0 (D0 (D1 (D1 (D1 (D0 (D0 B1))))))))
- type Prime317 = P (D1 (D0 (D1 (D1 (D1 (D1 (D0 (D0 B1))))))))
- type Prime331 = P (D1 (D1 (D0 (D1 (D0 (D0 (D1 (D0 B1))))))))
- type Prime337 = P (D1 (D0 (D0 (D0 (D1 (D0 (D1 (D0 B1))))))))
- type Prime347 = P (D1 (D1 (D0 (D1 (D1 (D0 (D1 (D0 B1))))))))
- type Prime349 = P (D1 (D0 (D1 (D1 (D1 (D0 (D1 (D0 B1))))))))
- type Prime353 = P (D1 (D0 (D0 (D0 (D0 (D1 (D1 (D0 B1))))))))
- type Prime359 = P (D1 (D1 (D1 (D0 (D0 (D1 (D1 (D0 B1))))))))
- type Prime367 = P (D1 (D1 (D1 (D1 (D0 (D1 (D1 (D0 B1))))))))
- type Prime373 = P (D1 (D0 (D1 (D0 (D1 (D1 (D1 (D0 B1))))))))
- type Prime379 = P (D1 (D1 (D0 (D1 (D1 (D1 (D1 (D0 B1))))))))
- type Prime383 = P (D1 (D1 (D1 (D1 (D1 (D1 (D1 (D0 B1))))))))
- type Prime389 = P (D1 (D0 (D1 (D0 (D0 (D0 (D0 (D1 B1))))))))
- type Prime397 = P (D1 (D0 (D1 (D1 (D0 (D0 (D0 (D1 B1))))))))
- type Prime401 = P (D1 (D0 (D0 (D0 (D1 (D0 (D0 (D1 B1))))))))
- type Prime409 = P (D1 (D0 (D0 (D1 (D1 (D0 (D0 (D1 B1))))))))
- type Prime419 = P (D1 (D1 (D0 (D0 (D0 (D1 (D0 (D1 B1))))))))
- type Prime421 = P (D1 (D0 (D1 (D0 (D0 (D1 (D0 (D1 B1))))))))
- type Prime431 = P (D1 (D1 (D1 (D1 (D0 (D1 (D0 (D1 B1))))))))
- type Prime433 = P (D1 (D0 (D0 (D0 (D1 (D1 (D0 (D1 B1))))))))
- type Prime439 = P (D1 (D1 (D1 (D0 (D1 (D1 (D0 (D1 B1))))))))
- type Prime443 = P (D1 (D1 (D0 (D1 (D1 (D1 (D0 (D1 B1))))))))
- type Prime449 = P (D1 (D0 (D0 (D0 (D0 (D0 (D1 (D1 B1))))))))
- type Prime457 = P (D1 (D0 (D0 (D1 (D0 (D0 (D1 (D1 B1))))))))
- type Prime461 = P (D1 (D0 (D1 (D1 (D0 (D0 (D1 (D1 B1))))))))
- type Prime463 = P (D1 (D1 (D1 (D1 (D0 (D0 (D1 (D1 B1))))))))
- type Prime467 = P (D1 (D1 (D0 (D0 (D1 (D0 (D1 (D1 B1))))))))
- type Prime479 = P (D1 (D1 (D1 (D1 (D1 (D0 (D1 (D1 B1))))))))
- type Prime487 = P (D1 (D1 (D1 (D0 (D0 (D1 (D1 (D1 B1))))))))
- type Prime491 = P (D1 (D1 (D0 (D1 (D0 (D1 (D1 (D1 B1))))))))
- type Prime499 = P (D1 (D1 (D0 (D0 (D1 (D1 (D1 (D1 B1))))))))
- type Prime503 = P (D1 (D1 (D1 (D0 (D1 (D1 (D1 (D1 B1))))))))
- type Prime509 = P (D1 (D0 (D1 (D1 (D1 (D1 (D1 (D1 B1))))))))
- type Prime521 = P (D1 (D0 (D0 (D1 (D0 (D0 (D0 (D0 (D0 B1)))))))))
- type Prime523 = P (D1 (D1 (D0 (D1 (D0 (D0 (D0 (D0 (D0 B1)))))))))
- type Prime541 = P (D1 (D0 (D1 (D1 (D1 (D0 (D0 (D0 (D0 B1)))))))))
- type Prime547 = P (D1 (D1 (D0 (D0 (D0 (D1 (D0 (D0 (D0 B1)))))))))
- type Prime557 = P (D1 (D0 (D1 (D1 (D0 (D1 (D0 (D0 (D0 B1)))))))))
- type Prime563 = P (D1 (D1 (D0 (D0 (D1 (D1 (D0 (D0 (D0 B1)))))))))
- type Prime569 = P (D1 (D0 (D0 (D1 (D1 (D1 (D0 (D0 (D0 B1)))))))))
- type Prime571 = P (D1 (D1 (D0 (D1 (D1 (D1 (D0 (D0 (D0 B1)))))))))
- type Prime577 = P (D1 (D0 (D0 (D0 (D0 (D0 (D1 (D0 (D0 B1)))))))))
- type Prime587 = P (D1 (D1 (D0 (D1 (D0 (D0 (D1 (D0 (D0 B1)))))))))
- type Prime593 = P (D1 (D0 (D0 (D0 (D1 (D0 (D1 (D0 (D0 B1)))))))))
- type Prime599 = P (D1 (D1 (D1 (D0 (D1 (D0 (D1 (D0 (D0 B1)))))))))
- type Prime601 = P (D1 (D0 (D0 (D1 (D1 (D0 (D1 (D0 (D0 B1)))))))))
- type Prime607 = P (D1 (D1 (D1 (D1 (D1 (D0 (D1 (D0 (D0 B1)))))))))
- type Prime613 = P (D1 (D0 (D1 (D0 (D0 (D1 (D1 (D0 (D0 B1)))))))))
- type Prime617 = P (D1 (D0 (D0 (D1 (D0 (D1 (D1 (D0 (D0 B1)))))))))
- type Prime619 = P (D1 (D1 (D0 (D1 (D0 (D1 (D1 (D0 (D0 B1)))))))))
- type Prime631 = P (D1 (D1 (D1 (D0 (D1 (D1 (D1 (D0 (D0 B1)))))))))
- type Prime641 = P (D1 (D0 (D0 (D0 (D0 (D0 (D0 (D1 (D0 B1)))))))))
- type Prime643 = P (D1 (D1 (D0 (D0 (D0 (D0 (D0 (D1 (D0 B1)))))))))
- type Prime647 = P (D1 (D1 (D1 (D0 (D0 (D0 (D0 (D1 (D0 B1)))))))))
- type Prime653 = P (D1 (D0 (D1 (D1 (D0 (D0 (D0 (D1 (D0 B1)))))))))
- type Prime659 = P (D1 (D1 (D0 (D0 (D1 (D0 (D0 (D1 (D0 B1)))))))))
Factored natural numbers
Instances
Eq Factored Source # | |
Show Factored Source # | |
SEq Factored Source # | |
SDecide Factored Source # | |
SingKind Factored Source # | |
(Fact m, C i) => Reflects Factored m i Source # | |
PEq Factored (Proxy * Factored) Source # | |
Fact m => Show (ArgType Factored m) # | |
data Sing Factored Source # | |
type DemoteRep Factored Source # | |
type (:/=) Factored x y Source # | |
type (:==) Factored a0 b0 Source # | |
Template Haskell splice that defines the Factored
type synonym
F
\(n\) for a positive integer \(n\).
reifyFactI :: Int -> (forall m proxy. Fact m => proxy m -> a) -> a Source #
Prime powers
data PrimePower Source #
Instances
Eq PrimePower Source # | |
Show PrimePower Source # | |
SEq PrimePower Source # | |
SDecide PrimePower Source # | |
SingKind PrimePower Source # | |
(PPow pp, C i) => Reflects PrimePower pp i Source # | |
PEq PrimePower (Proxy * PrimePower) Source # | |
(PPow pp, (~) * zq (ZqBasic PrimePower pp z), PrimeField (ZpOf zq), Ring zq) => ZPP (ZqBasic PrimePower pp z) Source # | |
data Sing PrimePower Source # | |
type DemoteRep PrimePower Source # | |
type (:/=) PrimePower x y Source # | |
type (:==) PrimePower a0 b0 Source # | |
type ZpOf (ZqBasic PrimePower pp z) Source # | |
type SPrimePower = (Sing :: PrimePower -> Type) Source #
data family Sing k (a :: k) :: * #
The singleton kind-indexed data family.
Instances
data Sing Bool | |
data Sing Ordering | |
data Sing Nat | |
data Sing Symbol | |
data Sing () | |
data Sing Pos # | |
data Sing Bin # | |
data Sing PrimeBin # | |
data Sing PrimePower # | |
data Sing Factored # | |
data Sing [a0] | |
data Sing (Maybe a0) | |
data Sing (NonEmpty a0) | |
data Sing (Either a0 b0) | |
data Sing (a0, b0) | |
data Sing ((~>) k1 k2) | |
data Sing (a0, b0, c0) | |
data Sing (a0, b0, c0, d0) | |
data Sing (a0, b0, c0, d0, e0) | |
data Sing (a0, b0, c0, d0, e0, f0) | |
data Sing (a0, b0, c0, d0, e0, f0, g0) | |
ppType :: PP -> TypeQ Source #
Template Haskell splice for the PrimePower
type corresponding to
a given PP
. (Calls pType
on the first component of its
argument, so should only be used on small-to-moderate-sized
numbers.) This is the preferred (and only) way of constructing a
concrete PrimePower
type.
Template Haskell splice that defines the PrimePower
type synonym
PP
\(n\), where \( n=p^e \).
reifyPPow :: (Int, Int) -> (forall pp. SPrimePower pp -> a) -> a Source #
Reify a PrimePower
as a singleton.
reifyPPowI :: (Int, Int) -> (forall pp proxy. PPow pp => proxy pp -> a) -> a Source #
Reify a PrimePower
for a PPow
constraint.
Primes
Instances
Eq PrimeBin Source # | |
Ord PrimeBin Source # | |
Show PrimeBin Source # | |
SOrd Bin => SOrd PrimeBin Source # | |
SEq PrimeBin Source # | |
SDecide PrimeBin Source # | |
SingKind PrimeBin Source # | |
(Prime p, C i) => Reflects PrimeBin p i Source # | |
POrd PrimeBin (Proxy * PrimeBin) Source # | |
PEq PrimeBin (Proxy * PrimeBin) Source # | |
data Sing PrimeBin Source # | |
type DemoteRep PrimeBin Source # | |
type Min PrimeBin arg0 arg1 Source # | |
type Max PrimeBin arg0 arg1 Source # | |
type (:>=) PrimeBin arg0 arg1 Source # | |
type (:>) PrimeBin arg0 arg1 Source # | |
type (:<=) PrimeBin arg0 arg1 Source # | |
type (:<) PrimeBin arg0 arg1 Source # | |
type Compare PrimeBin a1 a0 Source # | |
type (:/=) PrimeBin x y Source # | |
type (:==) PrimeBin a0 b0 Source # | |
pType :: Int -> TypeQ Source #
Template Haskell splice for the PrimeBin
type corresponding to a
given positive prime integer. (Uses prime
to enforce primality
of the base, so should only be used on small-to-moderate-sized
arguments.) This is the preferred (and only) way of constructing a
concrete PrimeBin
type (and is used to define the Prime
\(p\) type
synonyms).
Template Haskell splice that defines the PrimeBin
type synonym
Prime
\(p\) for a positive prime integer \( p \).
reifyPrimeI :: Int -> (forall p proxy. Prime p => proxy p -> a) -> a Source #
Constructors
pToPP :: PrimeBin -> PrimePower Source #
type family PToPP (a :: PrimeBin) :: PrimePower where ... Source #
ppToF :: PrimePower -> Factored Source #
type family PpToF (a :: PrimePower) :: Factored where ... Source #
Unwrappers
unF :: Factored -> [PrimePower] Source #
primePP :: PrimePower -> PrimeBin Source #
type family PrimePP (a :: PrimePower) :: PrimeBin where ... Source #
exponentPP :: PrimePower -> Pos Source #
type family ExponentPP (a :: PrimePower) :: Pos where ... Source #
Arithmetic operations
type Divides m m' = (Fact m, Fact m', FDivides m m' ~ True) Source #
Constraint synonym for divisibility of Factored
types.
fOddRadical :: Factored -> Factored Source #
type family FOddRadical (a :: Factored) :: Factored where ... Source #
Equations
FOddRadical (F pps) = Apply FSym0 (Apply PpsOddRadSym0 pps) |
Convenient reflections
ppsFact :: forall m. Fact m => Tagged m [PP] Source #
Value-level prime-power factorization tagged by a Factored
type.
radicalFact :: Fact m => Tagged m Int Source #
The radical (product of prime divisors) of a Factored
type.
oddRadicalFact :: Fact m => Tagged m Int Source #
The odd radical (product of odd prime divisors) of a Factored
type.
valueHatFact :: Fact m => Tagged m Int Source #
The "hat" of a Factored
type's value:
\( \hat{m} = \begin{cases} m & \mbox{if } m \text{ is odd} \\ m/2 & \text{otherwise} \end{cases} \).
exponentPPow :: PPow pp => Tagged pp Int Source #
Reflect the exponent component of a PrimePower
type.
totientPPow :: PPow pp => Tagged pp Int Source #
The totient of a PrimePower
type's value.
radicalPPow :: PPow pp => Tagged pp Int Source #
The radical of a PrimePower
type's value.
oddRadicalPPow :: PPow pp => Tagged pp Int Source #
The odd radical of a PrimePower
type's value.
valueHatPPow :: PPow pp => Tagged pp Int Source #
The "hat" of a PrimePower
type's value:
\( p^e \) if \( p \) is odd, \( 2^{e-1} \) otherwise.
Data-level equivalents of reflections for Factored
data
Number-theoretic laws
transDivides :: forall k l m. Proxy k -> Proxy l -> Proxy m -> (k `Divides` l, l `Divides` m) :- (k `Divides` m) Source #
Entails constraint for transitivity of division, i.e. if \( k \mid l \) and \( l \mid m \), then \( k \mid m \).
gcdDivides :: forall m1 m2 g. Proxy m1 -> Proxy m2 -> (Fact m1, Fact m2, g ~ FGCD m1 m2) :- (g `Divides` m1, g `Divides` m2) Source #
Entailment for divisibility by GCD: if \( g=\gcd(m_1,m_2) \) then \( g \mid m_1 \) and \( g \mid m_2 \).
lcmDivides :: forall m1 m2 l. Proxy m1 -> Proxy m2 -> (Fact m1, Fact m2, l ~ FLCM m1 m2) :- (m1 `Divides` l, m2 `Divides` l) Source #
Entailment for LCM divisibility: if \( l=\lcm(m_1,m_2) \) then \( m_1 \mid l \) and \( m_2 \mid l \).
lcm2Divides :: forall m1 m2 l m. Proxy m1 -> Proxy m2 -> Proxy m -> (m1 `Divides` m, m2 `Divides` m, l ~ FLCM m1 m2) :- (m1 `Divides` l, m2 `Divides` l, FLCM m1 m2 `Divides` m) Source #
Entailment for LCM divisibility: the LCM of two divisors of \( m \) also divides \( m \).
pSplitTheorems :: forall p m f. Proxy p -> Proxy m -> (Prime p, Fact m, f ~ PFree p m) :- (f `Divides` m, Coprime (PToF p) f) Source #
Entailment for \( p \)-free division: if \( f \) is \(m \) after removing all \( p \)-factors, then \( f \mid m \) and \( \gcd(f,p)=1 \).
pFreeDivides :: forall p m m'. Proxy p -> Proxy m -> Proxy m' -> (Prime p, m `Divides` m') :- (PFree p m `Divides` PFree p m') Source #
Entailment for \( p \)-free division: if \( m \mid m' \), then \( \text{p-free}(m) \mid \text{p-free}(m') \).
(\\) :: a => (b -> r) -> (:-) a b -> r infixl 1 #
Given that a :- b
, derive something that needs a context b
, using the context a
Utility operations on prime powers
ppToPP :: PrimePower -> PP Source #
Conversion.
oddRadicalPP :: PP -> Int Source #
The odd radical of a prime power.
valueHatPP :: PP -> Int Source #
The "hat" of a prime power: \( p^e \) if \( p \) is odd, \( 2^{e-1} \) otherwise.
Re-export
Positive naturals in Peano representation
Instances
data family Sing k (a :: k) :: * #
The singleton kind-indexed data family.
Instances
data Sing Bool | |
data Sing Ordering | |
data Sing Nat | |
data Sing Symbol | |
data Sing () | |
data Sing Pos # | |
data Sing Bin # | |
data Sing PrimeBin # | |
data Sing PrimePower # | |
data Sing Factored # | |
data Sing [a0] | |
data Sing (Maybe a0) | |
data Sing (NonEmpty a0) | |
data Sing (Either a0 b0) | |
data Sing (a0, b0) | |
data Sing ((~>) k1 k2) | |
data Sing (a0, b0, c0) | |
data Sing (a0, b0, c0, d0) | |
data Sing (a0, b0, c0, d0, e0) | |
data Sing (a0, b0, c0, d0, e0, f0) | |
data Sing (a0, b0, c0, d0, e0, f0, g0) | |
data AddPosSym0 l Source #
data AddPosSym1 l l Source #
Instances
SuppressUnusedWarnings (Pos -> TyFun Pos Pos -> *) AddPosSym1 Source # | |
type Apply Pos Pos (AddPosSym1 l1) l0 Source # | |
data SubPosSym0 l Source #
data SubPosSym1 l l Source #
Instances
SuppressUnusedWarnings (Pos -> TyFun Pos Pos -> *) SubPosSym1 Source # | |
type Apply Pos Pos (SubPosSym1 l1) l0 Source # | |
Positive naturals in binary representation
Instances
Eq Bin Source # | |
Ord Bin Source # | |
Show Bin Source # | |
SOrd Bin Source # | |
SEq Bin Source # | |
SDecide Bin Source # | |
SingKind Bin Source # | |
SingI Bin B1 Source # | |
SingI Bin n0 => SingI Bin (D0 n0) Source # | |
SingI Bin n0 => SingI Bin (D1 n0) Source # | |
POrd Bin (Proxy * Bin) Source # | |
PEq Bin (Proxy * Bin) Source # | |
SuppressUnusedWarnings (TyFun Bin Bin -> *) D1Sym0 Source # | |
SuppressUnusedWarnings (TyFun Bin Bin -> *) D0Sym0 Source # | |
data Sing Bin Source # | |
type DemoteRep Bin Source # | |
type Min Bin arg0 arg1 Source # | |
type Max Bin arg0 arg1 Source # | |
type (:>=) Bin arg0 arg1 Source # | |
type (:>) Bin arg0 arg1 Source # | |
type (:<=) Bin arg0 arg1 Source # | |
type (:<) Bin arg0 arg1 Source # | |
type Compare Bin a1 a0 Source # | |
type (:/=) Bin x y Source # | |
type (:==) Bin a0 b0 Source # | |
type Apply Bin Bin D1Sym0 l0 Source # | |
type Apply Bin Bin D0Sym0 l0 Source # | |
data family Sing k (a :: k) :: * #
The singleton kind-indexed data family.
Instances
data Sing Bool | |
data Sing Ordering | |
data Sing Nat | |
data Sing Symbol | |
data Sing () | |
data Sing Pos # | |
data Sing Bin # | |
data Sing PrimeBin # | |
data Sing PrimePower # | |
data Sing Factored # | |
data Sing [a0] | |
data Sing (Maybe a0) | |
data Sing (NonEmpty a0) | |
data Sing (Either a0 b0) | |
data Sing (a0, b0) | |
data Sing ((~>) k1 k2) | |
data Sing (a0, b0, c0) | |
data Sing (a0, b0, c0, d0) | |
data Sing (a0, b0, c0, d0, e0) | |
data Sing (a0, b0, c0, d0, e0, f0) | |
data Sing (a0, b0, c0, d0, e0, f0, g0) | |
Miscellaneous
Template Haskell splice that declares a type synonym
<pfx>
\(n\) as the type f n
.
Search for the argument in primes
. This is not particularly
fast, but works well enough for moderate-sized numbers that would
appear as (divisors of) cyclotomic indices of interest.
Convenient synonyms for Pos
and Bin
types
Convenient synonyms for Factored
, PrimePower
, and Prime
types
type F170 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F190 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F204 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F210 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)] Source #
type F220 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)] Source #
type F222 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)] Source #
type F228 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F230 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)] Source #
type F238 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F246 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)] Source #
type F255 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F258 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)] Source #
type F260 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)] Source #
type F264 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 B1))), O)] Source #
type F266 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F276 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)] Source #
type F280 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)] Source #
type F282 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)] Source #
type F285 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F286 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D1 B1))), O)] Source #
type F290 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)] Source #
type F306 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F308 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)] Source #
type F310 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)] Source #
type F312 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 B1))), O)] Source #
type F318 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D1 B1))))), O)] Source #
type F322 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)] Source #
type F330 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)] Source #
type F340 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F342 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F345 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)] Source #
type F348 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)] Source #
type F354 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D1 (D1 B1))))), O)] Source #
type F357 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F364 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)] Source #
type F366 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D1 (D1 B1))))), O)] Source #
type F370 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)] Source #
type F372 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)] Source #
type F374 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F380 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F385 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)] Source #
type F390 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)] Source #
type F399 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F402 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 (D0 (D0 B1)))))), O)] Source #
type F406 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)] Source #
type F408 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F410 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)] Source #
type F414 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), S O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)] Source #
type F418 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F420 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O)] Source #
type F426 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D0 (D0 (D0 B1)))))), O)] Source #
type F429 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D0 (D1 B1))), O)] Source #
type F430 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 (D1 (D0 B1))))), O)] Source #
type F434 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)] Source #
type F435 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D0 (D1 (D1 B1)))), O)] Source #
type F438 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 (D0 B1)))))), O)] Source #
type F440 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)] Source #
type F442 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F444 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D1 (D0 (D0 B1))))), O)] Source #
type F455 = F '[PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D1 B1))), O)] Source #
type F456 = F '[PP '(P (D0 B1), S (S O)), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F460 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)] Source #
type F462 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)] Source #
type F465 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D1 B1)))), O)] Source #
type F470 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D1 (D1 (D0 B1))))), O)] Source #
type F474 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D1 (D1 (D0 (D0 B1)))))), O)] Source #
type F476 = F '[PP '(P (D0 B1), S O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D0 (D0 (D0 B1)))), O)] Source #
type F480 = F '[PP '(P (D0 B1), S (S (S (S O)))), PP '(P (D1 B1), O), PP '(P (D1 (D0 B1)), O)] Source #
type F483 = F '[PP '(P (D1 B1), O), PP '(P (D1 (D1 B1)), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)] Source #
type F492 = F '[PP '(P (D0 B1), S O), PP '(P (D1 B1), O), PP '(P (D1 (D0 (D0 (D1 (D0 B1))))), O)] Source #
type F494 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D0 (D1 B1))), O), PP '(P (D1 (D1 (D0 (D0 B1)))), O)] Source #
type F495 = F '[PP '(P (D1 B1), S O), PP '(P (D1 (D0 B1)), O), PP '(P (D1 (D1 (D0 B1))), O)] Source #
type F498 = F '[PP '(P (D0 B1), O), PP '(P (D1 B1), O), PP '(P (D1 (D1 (D0 (D0 (D1 (D0 B1)))))), O)] Source #
type F506 = F '[PP '(P (D0 B1), O), PP '(P (D1 (D1 (D0 B1))), O), PP '(P (D1 (D1 (D1 (D0 B1)))), O)] Source #