3 ================================================================================
5 `$d5' :: `{PrelBase.Eval (Pair a b)}'
7 _/\_ `$x0' `$x1' -> `PrelBase.void'
8 `$d4' :: `{PrelBase.Eval (LList alpha)}'
10 _/\_ `$x0' -> `PrelBase.void'
11 `$d2' :: `{PrelBase.Eval (Tree x)}'
13 _/\_ `$x0' -> `PrelBase.void'
14 `$d1' :: `{PrelBase.Eval (A a)}'
16 _/\_ `$x0' -> `PrelBase.void'
17 `MkA' :: `a -> A a -> A a'
19 _/\_ `$x0' -> \ `$x1' :: `$x0'
20 `$x1' `$x2' :: `A $x0'
22 `MkA' {_@_ `$x0' `$x1' `$x2'}
23 `MkPair' :: `a -> b -> Pair a b'
25 _/\_ `$x0' `$x1' -> \ `$x2' :: `$x0'
28 `MkPair' {_@_ `$x0' _@_ `$x1' `$x2' `$x3'}
29 `Leaf' :: `x -> Tree x'
31 _/\_ `$x0' -> \ `$x1' :: `$x0'
33 `Leaf' {_@_ `$x0' `$x1'}
34 `Node' :: `Tree x -> Tree x -> Tree x'
36 _/\_ `$x0' -> \ `$x1' :: `Tree $x0'
37 `$x1' `$x2' :: `Tree $x0'
39 `Node' {_@_ `$x0' `$x1' `$x2'}
43 `Succ' :: `Nat -> Nat'
48 `Nill' :: `LList alpha'
50 _/\_ `$x0' -> `Nill' {_@_ `$x0'}
51 `Conss' :: `alpha -> LList alpha -> LList alpha'
53 _/\_ `$x0' -> \ `$x1' :: `$x0'
54 `$x1' `$x2' :: `LList $x0'
56 `Conss' {_@_ `$x0' `$x1' `$x2'}
58 `append' :: `LList taCl -> LList taCl -> LList taCl'
60 _/\_ `$x0' -> \ `$x1' :: `LList $x0'
61 `$x1' `$x2' :: `LList $x0'
65 `Conss' `$x3' `$x4' ->
69 `append' _@_ `$x0' `$x4' `$x2'
70 } in `Conss' {_@_ `$x0' `$x3' `$x5'};
74 `flat' :: `Tree (Pair taCO taCP) -> LList taCO'
76 _/\_ `$x0' `$x1' -> \ `$x2' :: `Tree (Pair $x1 $x0)'
80 case `$x3' of { `MkPair' `$x4' `$x5' ->
85 } in `Conss' {_@_ `$x1' `$x4' `$x6'};};
90 `flat' _@_ `$x0' _@_ `$x1' `$x8'
92 case `flat' _@_ `$x0' _@_ `$x1' `$x7' of { `$xa' ->
93 `append' _@_ `$x1' `$xa' `$x9';};
102 `$d6' :: `{PrelBase.Eval Boolean}'
105 `$d3' :: `{PrelBase.Eval Nat}'
108 `$g0' :: `Pair Boolean Nat'
110 `MkPair' {_@_ `Boolean' _@_ `Nat' `TT' `Zero'}
111 `$g1' :: `Tree (Pair Boolean Nat)'
113 `Leaf' {_@_ (`Pair' `Boolean' `Nat') `$g0'}
114 `$g2' :: `LList Boolean'
116 `flat' _@_ `Nat' _@_ `Boolean' `$g1'
117 `fl' :: `Boolean -> LList Boolean'