lean2/tests/lean/let4.lean
Leonardo de Moura 7726ccad28 chore(builtin): rename nat, int and real modules to Nat, Int and Real.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-01-01 13:52:25 -08:00

52 lines
789 B
Text

Import Int.
Show
let b := true,
a : Int := b
in a
Variable vector : Type -> Nat -> Type
Variable const {A : Type} (n : Nat) (a : A) : vector A n
Check
let a := 10,
v1 := const a true,
v2 := v1
in v2
Show
let a := 10,
v1 : vector Bool a := const a true,
v2 : vector Bool a := v1
in v2
Check
let a := 10,
v1 : vector Bool a := const a true,
v2 : vector Bool a := v1
in v2
Check
let a := 10,
v1 : vector Bool a := const a true,
v2 : vector Int a := v1
in v2
Variable foo : (vector Bool 10) -> (vector Int 10)
Coercion foo
Check
let a := 10,
v1 : vector Bool a := const a true,
v2 : vector Int a := v1
in v2
SetOption pp::coercion true
Show
let a := 10,
v1 : vector Bool a := const a true,
v2 : vector Int a := v1
in v2