module suffix ( (suffix.++), suffix.goal, suffix.main ) where import Prelude (suffix.++) :: [a] -> [a] -> [a] (suffix.++) v1 v2 = fcase v1 of [] -> v2 v3 : v4 -> v3 : (v4 suffix.++ v2) suffix.goal :: [a] -> [a] suffix.goal v1 = suffix._pe0 v1 suffix.main :: [Prelude.Int] suffix.main = suffix.goal (1 : (2 : (3 : []))) suffix._pe0 :: [a] -> [a] suffix._pe0 v1 = v1 ? (fcase v1 of v2 : v3 -> let v4 free in ((v4 Prelude.=:<= v3) &> v4) ? (fcase v3 of v5 : v6 -> (((let v7 free in v7) suffix.++ v4) Prelude.=:<= v6) &> v4))