Slide 17
Slide 17 text
ちょっと型エラーが出るので余計なやつを削り・・・
Definition max' :=
fun x y : nat =>
if y <=? x as b return ((y <=? x) = b -> nat) (* returnの後のは型が書いてあります *)
then fun _ : (y <=? x) = true => x (* trueの場合、xを返す *)
else fun _ : (y <=? x) = false => y. (* falseの場合、yを返す *)
実行!
Eval compute in max' 3 2 _.
(* = 3
: nat *)
17