17 lines
450 B
Text
17 lines
450 B
Text
open nat
|
|
|
|
inductive bv : nat → Type
|
|
| nil : bv 0
|
|
| cons : ∀ (n) (hd : bool) (tl : bv n), bv (succ n)
|
|
|
|
open bv bool
|
|
|
|
definition h : ∀ {n}, bv (succ (succ n)) → bool
|
|
| .(succ m) (cons (succ (succ m)) b v) := b
|
|
| .0 (cons (succ nat.zero) b v) := bnot b
|
|
|
|
example (m : nat) (b : bool) (v : bv (succ (succ m))) : @h (succ m) (cons (succ (succ m)) b v) = b :=
|
|
rfl
|
|
|
|
example (m : nat) (b : bool) (v : bv 1) : @h 0 (cons 1 b v) = bnot b :=
|
|
rfl
|