mirror of
https://github.com/GaloisInc/cryptol.git
synced 2024-12-15 18:52:13 +03:00
4c6a69c0cf
This does a bunch of small changes, that should improve the usability of Cryptol. Namely: * When we are forced to make up a name, pick something derived from the source of the variable, annotated with the unique. * When pretty printing a schema, use "n,m,i,j,k" for numeric variables and "a,b,c,d,e" for value type vairable. * When generalizing, put numeric vairables first.
32 lines
830 B
Plaintext
32 lines
830 B
Plaintext
Loading module Cryptol
|
|
Loading module Cryptol
|
|
Loading module test01
|
|
module test01
|
|
import Cryptol
|
|
/* Not recursive */
|
|
test01::a : {n, a} (fin n) => [n]a -> [2 * n]a
|
|
test01::a = \{n, a} (fin n) (x : [n]a) ->
|
|
test01::f n x
|
|
where
|
|
/* Not recursive */
|
|
test01::f : {m} [m]a -> [n + m]a
|
|
test01::f = \{m} (y : [m]a) -> (Cryptol::#) n m a <> x y
|
|
|
|
|
|
|
|
Loading module Cryptol
|
|
Loading module test01
|
|
module test01
|
|
import Cryptol
|
|
/* Not recursive */
|
|
test01::a : {n, a} (fin n) => [n]a -> [2 * n]a
|
|
test01::a = \{n, a} (fin n) (x : [n]a) ->
|
|
test01::f x
|
|
where
|
|
/* Not recursive */
|
|
test01::f : [n]a -> [2 * n]a
|
|
test01::f = \ (y : [n]a) -> (Cryptol::#) n n a <> x y
|
|
|
|
|
|
|