lean2/tests/lean/let4.lean
Leonardo de Moura 8c956280d9 chore(frontends/lean): rename setoption and setopaque commands to set::option and set::opaque
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-01-06 11:41:03 -08:00

50 lines
792 B
Text

import Int.
print
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
print
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
set::option pp::coercion true
print
let a := 10,
v1 : vector Bool a := const a true,
v2 : vector Int a := v1
in v2