2014-12-16 04:48:25 +03:00
|
|
|
Loading module Cryptol
|
|
|
|
Loading module Cryptol
|
|
|
|
Loading module test01
|
|
|
|
module test01
|
|
|
|
import Cryptol
|
|
|
|
/* Not recursive */
|
2014-12-30 21:43:38 +03:00
|
|
|
test01::a : {a, b} (fin a) => [a]b -> [2 * a]b
|
|
|
|
test01::a = \{a, b} (fin a) ->
|
|
|
|
(\ (x : [a]b) ->
|
|
|
|
f a x
|
2014-12-16 04:48:25 +03:00
|
|
|
where
|
|
|
|
/* Not recursive */
|
2014-12-30 21:43:38 +03:00
|
|
|
f : {c} [c]b -> [a + c]b
|
|
|
|
f = \{c} (y : [c]b) -> (#) a c b <> x y
|
2014-12-16 04:48:25 +03:00
|
|
|
|
2014-12-30 21:43:38 +03:00
|
|
|
) : [a]b -> [2 * a]b
|
2014-12-16 04:48:25 +03:00
|
|
|
|
|
|
|
Loading module Cryptol
|
|
|
|
Loading module test01
|
|
|
|
module test01
|
|
|
|
import Cryptol
|
|
|
|
/* Not recursive */
|
|
|
|
test01::a : {a, b} (fin a) => [a]b -> [2 * a]b
|
|
|
|
test01::a = \{a, b} (fin a) ->
|
|
|
|
(\ (x : [a]b) ->
|
|
|
|
f x
|
|
|
|
where
|
|
|
|
/* Not recursive */
|
|
|
|
f : [a]b -> [a + a]b
|
|
|
|
f = \ (y : [a]b) -> (#) a a b <> x y
|
|
|
|
|
|
|
|
) : [a]b -> [2 * a]b
|
|
|
|
|