1
datatype natural = Zero | Succ natural
primrec add :: "natural ⇒ natural ⇒ natural"
where
"add Zero m = m"
| "add (Succ n) m = Succ (add n m)"
我證明
lemma add_succ_right: "⋀ m n. add m (Succ n) = Succ (add m n)"
爲是數學,它具有普遍的量化是很重要的。然而,在簡化器使用這個事實,這是更好地做沒有:
lemma add_succ_right_rewrite: "add m (Succ n) = Succ (add m n)"
是什麼樣的這些版本,我更喜歡在什麼情況下,其中一個共同的智慧?
「引理語句中的自由變量會自動量化」 - 通過在已證明的語句中使用原理圖變量? – Gergely
是的,自由變量,當它們離開它們固定的範圍(或者明確地用'fixes'或者隱式地作爲命令'lemma'的一部分)時自動變成原理圖變量。 –