我是Isabelle的新手,我試圖定義原始遞歸函數。我已經試過了,但我在乘法時遇到了麻煩。在Isabelle中定義用於乘法的初始遞歸
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)"
我得到以下錯誤上面的代碼
類型統一失敗:類型「_⇒_」,並在申請「那提」
類型錯誤衝突:不是運營商功能類型
運營商:MULT MN :: NATI
操作數:米:: NATI
任何想法?