lean2/tests/lean/run/match4.lean

24 lines
514 B
Text
Raw Normal View History

2015-01-10 18:43:24 +00:00
open nat bool inhabited prod
definition diag (a b c : bool) : nat :=
match (a, b, c) with
(_, tt, ff) := 1,
(ff, _, tt) := 2,
(tt, ff, _) := 3,
(_, _, _) := arbitrary nat
theorem diag1 (a : bool) : diag a tt ff = 1 :=
bool.cases_on a rfl rfl
theorem diag2 (a : bool) : diag ff a tt = 2 :=
bool.cases_on a rfl rfl
theorem diag3 (a : bool) : diag tt ff a = 3 :=
bool.cases_on a rfl rfl
theorem diag4_1 : diag ff ff ff = arbitrary nat :=
rfl
theorem diag4_2 : diag tt tt tt = arbitrary nat :=
rfl