+++ /dev/null
-
-
---================================================================================
-Simplified:
-`$d5' ::
- `{PrelBase.Eval (Pair a{-r4b-} b{-r4c-})}'
-`$d5' =
- _/\_ `a{-s1NX-}' `b{-s1NY-}' ->
- `PrelBase.void'
-`$d4' ::
- `{PrelBase.Eval (LList alpha{-r49-})}'
-`$d4' =
- _/\_ `alpha{-s1NZ-}' ->
- `PrelBase.void'
-`$d2' ::
- `{PrelBase.Eval (Tree x{-r46-})}'
-`$d2' =
- _/\_ `x{-s1O0-}' ->
- `PrelBase.void'
-`$d1' ::
- `{PrelBase.Eval (A a{-r44-})}'
-`$d1' =
- _/\_ `a{-s1O1-}' ->
- `PrelBase.void'
-`MkPair' ::
- `a{-r4b-} -> b{-r4c-} -> Pair a{-r4b-} b{-r4c-}'
-`MkPair' =
- _/\_ `a{-s1NI-}' `b{-s1NJ-}' -> \ `tpl' ::
- `a{-s1NI-}'
- `tpl' `tpl' ::
- `b{-s1NJ-}'
- `tpl' ->
- `MkPair'
- {_@_ `a{-s1NI-}' _@_ `b{-s1NJ-}' `tpl' `tpl'}
-`MkA' ::
- `a{-r44-} -> A a{-r44-} -> A a{-r44-}'
-`MkA' =
- _/\_ `a{-s1NK-}' -> \ `tpl' ::
- `a{-s1NK-}'
- `tpl' `tpl' ::
- `A a{-s1NK-}'
- `tpl' ->
- `MkA'
- {_@_ `a{-s1NK-}' `tpl' `tpl'}
-`FF' ::
- `Boolean'
-`FF' =
- `FF'
- {}
-`TT' ::
- `Boolean'
-`TT' =
- `TT'
- {}
-`Nill' ::
- `LList alpha{-r49-}'
-`Nill' =
- _/\_ `alpha{-s1NL-}' ->
- `Nill'
- {_@_ `alpha{-s1NL-}'}
-`Conss' ::
- `alpha{-r49-} -> LList alpha{-r49-} -> LList alpha{-r49-}'
-`Conss' =
- _/\_ `alpha{-s1NM-}' -> \ `tpl' ::
- `alpha{-s1NM-}'
- `tpl' `tpl' ::
- `LList alpha{-s1NM-}'
- `tpl' ->
- `Conss'
- {_@_ `alpha{-s1NM-}' `tpl' `tpl'}
-Rec {
-`append' ::
- `LList a{-aHq-} -> LList a{-aHq-} -> LList a{-aHq-}'
-`append' =
- _/\_ `a{-s1NN-}' -> \ `xs' ::
- `LList a{-s1NN-}'
- `xs' `ys' ::
- `LList a{-s1NN-}'
- `ys' ->
- case `xs' of {
- `Nill' ->
- `ys';
- `Conss' `z' `zs' ->
- let {
- `ds' ::
- `LList a{-s1NN-}'
- `ds' =
- `append'
- _@_ `a{-s1NN-}' `zs' `ys'
- } in
- `Conss'
- {_@_ `a{-s1NN-}' `z' `ds'};
- }
-end Rec }
-Rec {
-`flat' ::
- `Tree (Pair a{-aHT-} b{-aHU-}) -> LList a{-aHT-}'
-`flat' =
- _/\_ `b{-s1NQ-}' `a{-s1NP-}' -> \ `s' ::
- `Tree (Pair a{-s1NP-} b{-s1NQ-})'
- `s' ->
- case `s' of {
- `Leaf' `ds' ->
- case `ds' of { `MkPair' `a' `b' ->
- let {
- `ds' ::
- `LList a{-s1NP-}'
- `ds' =
- `Nill'
- {_@_ `a{-s1NP-}'}
- } in
- `Conss'
- {_@_ `a{-s1NP-}' `a' `ds'};};
- `Node' `l' `r' ->
- case
- `flat'
- _@_ `b{-s1NQ-}' _@_ `a{-s1NP-}' `l'
- of {
- `ds' ->
- let {
- `ds' ::
- `LList a{-s1NP-}'
- `ds' =
- `flat'
- _@_ `b{-s1NQ-}' _@_ `a{-s1NP-}' `r'
- } in
- `append'
- _@_ `a{-s1NP-}' `ds' `ds';};
- }
-end Rec }
-`Zero' ::
- `Nat'
-`Zero' =
- `Zero'
- {}
-`Succ' ::
- `Nat -> Nat'
-`Succ' =
- \ `tpl' ::
- `Nat'
- `tpl' ->
- `Succ'
- {`tpl'}
-`Leaf' ::
- `x{-r46-} -> Tree x{-r46-}'
-`Leaf' =
- _/\_ `x{-s1NU-}' -> \ `tpl' ::
- `x{-s1NU-}'
- `tpl' ->
- `Leaf'
- {_@_ `x{-s1NU-}' `tpl'}
-`Node' ::
- `Tree x{-r46-} -> Tree x{-r46-} -> Tree x{-r46-}'
-`Node' =
- _/\_ `x{-s1NV-}' -> \ `tpl' ::
- `Tree x{-s1NV-}'
- `tpl' `tpl' ::
- `Tree x{-s1NV-}'
- `tpl' ->
- `Node'
- {_@_ `x{-s1NV-}' `tpl' `tpl'}
-`$d6' ::
- `{PrelBase.Eval Boolean}'
-`$d6' =
- `PrelBase.void'
-`$d3' ::
- `{PrelBase.Eval Nat}'
-`$d3' =
- `PrelBase.void'
-`s1h2' ::
- `Pair Boolean Nat'
-`s1h2' =
- `MkPair'
- {_@_ `Boolean' _@_ `Nat' `TT' `Zero'}
-`s1h7' ::
- `Tree (Pair Boolean Nat)'
-`s1h7' =
- `Leaf'
- {_@_ (`Pair' `Boolean' `Nat') `s1h2'}
-`s1l4' ::
- `LList Boolean'
-`s1l4' =
- `flat'
- _@_ `Nat' _@_ `Boolean' `s1h7'
-`fl' ::
- `Boolean -> LList Boolean'
-`fl' =
- \ `x' ::
- `Boolean'
- `x' ->
- `s1l4'