2 AbsBinds [] [] [(idb.t1, ShouldSucceed.idb)]
4 idb.t1 :: ShouldSucceed.Boolean -> ShouldSucceed.Boolean
7 AbsBinds [a.t12, b.t13] [] [(swap.t4, ShouldSucceed.swap)]
9 swap.t4 :: ShouldSucceed.Pair b.t13 a.t12 -> ShouldSucceed.Pair a.t12 b.t13
12 (ShouldSucceed.Mkpair x.r93 y.r94)
13 -> (ShouldSucceed.Mkpair [a.t12, b.t13]) y.r94 x.r93
14 AbsBinds [] [] [(neg.t16, ShouldSucceed.neg)]
16 neg.t16 :: ShouldSucceed.Boolean -> ShouldSucceed.Boolean
23 AbsBinds [alpha.t26] [] [(null.t20, ShouldSucceed.null)]
25 null.t20 :: ShouldSucceed.List alpha.t26 -> ShouldSucceed.Boolean
30 (ShouldSucceed.Cons y.r97 ys.r98)
32 AbsBinds [a.t30] [] [(idl.t29, ShouldSucceed.idl)]
34 idl.t29 :: ShouldSucceed.List a.t30 -> ShouldSucceed.List a.t30
36 xs.r99 = case xs.r99 of
38 -> ShouldSucceed.Nil a.t30
39 (ShouldSucceed.Cons y.r100 ys.r101)
40 -> (ShouldSucceed.Cons a.t30)
41 y.r100 (idl.t29 ys.r101)
42 AbsBinds [] [] [(add.t41, ShouldSucceed.add)]
44 add.t41 :: ShouldSucceed.Nat -> ShouldSucceed.Nat -> ShouldSucceed.Nat
50 (ShouldSucceed.Succ c.r104)
51 -> ShouldSucceed.Succ (add.t41 c.r104 b.r103)
52 AbsBinds [alpha.t49] [] [(app.t48, ShouldSucceed.app)]
55 ShouldSucceed.List alpha.t49
56 -> ShouldSucceed.List alpha.t49 -> ShouldSucceed.List alpha.t49
62 (ShouldSucceed.Cons y.r107 ys.r108)
63 -> (ShouldSucceed.Cons alpha.t49)
64 y.r107 (app.t48 ys.r108 zs.r106)
65 AbsBinds [a.t61] [] [(length.t60, ShouldSucceed.length)]
67 length.t60 :: ShouldSucceed.List a.t61 -> ShouldSucceed.Nat
69 xs.r109 = case xs.r109 of
72 (ShouldSucceed.Cons y.r110 ys.r111)
73 -> ShouldSucceed.Succ (length.t60 ys.r111)
74 AbsBinds [] [] [(before.t70, ShouldSucceed.before)]
77 ShouldSucceed.List ShouldSucceed.Nat
78 -> ShouldSucceed.List ShouldSucceed.Nat
80 xs.r112 = case xs.r112 of
82 -> ShouldSucceed.Nil ShouldSucceed.Nat
83 (ShouldSucceed.Cons y.r113 ys.r114)
86 -> ShouldSucceed.Nil ShouldSucceed.Nat
87 (ShouldSucceed.Succ n.r115)
88 -> (ShouldSucceed.Cons
90 y.r113 (before.t70 ys.r114)
91 AbsBinds [alpha.t95] [] [(reverse.t84, ShouldSucceed.reverse)]
93 reverse.t84 :: ShouldSucceed.List alpha.t95 -> ShouldSucceed.List alpha.t95
95 rs.r116 = case rs.r116 of
97 -> ShouldSucceed.Nil alpha.t95
98 (ShouldSucceed.Cons y.r117 ys.r118)
99 -> (ShouldSucceed.app alpha.t95)
100 (reverse.t84 ys.r118)
101 ((ShouldSucceed.Cons alpha.t95)
102 y.r117 (ShouldSucceed.Nil alpha.t95))
103 AbsBinds [alpha.t108] [] [(flatten.t98, ShouldSucceed.flatten)]
106 ShouldSucceed.Tree alpha.t108 -> ShouldSucceed.List alpha.t108
108 t.r119 = case t.r119 of
109 (ShouldSucceed.Leaf x.r120)
110 -> (ShouldSucceed.Cons alpha.t108)
111 x.r120 (ShouldSucceed.Nil alpha.t108)
112 (ShouldSucceed.Node l.r121 r.r122)
113 -> (ShouldSucceed.app alpha.t108)
114 (flatten.t98 l.r121) (flatten.t98 r.r122)
115 AbsBinds [] [] [(sum.t113, ShouldSucceed.sum)]
117 sum.t113 :: ShouldSucceed.Tree ShouldSucceed.Nat -> ShouldSucceed.Nat
119 t.r123 = case t.r123 of
120 (ShouldSucceed.Leaf t.r124)
122 (ShouldSucceed.Node l.r125 r.r126)
124 (sum.t113 l.r125) (sum.t113 r.r126)