fun isfib(a) =
findfib(a,1,1)
and
findfib(b,x,y) =
val z = x + y
if b <= 1 then true
else if z > b then false
else if z = b then true
else fib(b,y,z)
プログラムに入力を入れて、この入力が心房細動の数値であるかどうかを再帰的に調べようとしています。別のプログラムでfibのx番目の場所を2行で計算できます。しかし、この「入力、fibと等しいかどうかの確認、fibを無限大またはバストにする」ロジックは、私には非常に混乱します。また、7.1行目(B <= 1)で「ANDをANDALSOに置き換える」や「ORELSEを挿入する」などのエラーが発生します。