私はIsabelleを初めて使用しています。私は基本的な再帰関数を定義しようとしています。私は追加してみましたが、私は乗算に問題があります。Isabelleでの乗算のためのPrimtive Recursionの定義
datatype nati = Zero | Suc nati
primrec add :: "nati ⇒ nati ⇒ nati" where
"add Zero n = n" |
"add (Suc m) n = Suc(add m n)"
primrec mult :: "nati ⇒ nati ⇒ nati" where
"mult Suc(Zero) n = n" |
"mult (Suc m) n = add((mult m n) m)"
は私が
タイプの統一に失敗した上記のコードのために、次のエラーを取得:「_⇒_」およびアプリケーションの「NATI」
タイプエラータイプのクラッシュ:演算子ではありませんの関数型
演算子:MULT MN :: NATI
オペランド:メートル:: NATI
アイデア?