我對伊莎貝爾非常新,所以請有憐憫。如何用此功能證明最大交換屬性?如何在伊莎貝爾證明最大交換性質
fun max :: "nat => nat => nat" where
"max 0 0 = 0" |
"max (Suc x) 0 = Suc x" |
"max 0 (Suc x) = Suc x" |
"max (Suc x) (Suc y) = Suc (max x y)"
lemma "max x y = max y x"
? ? ?
我知道,它可以很容易地證明了
definition max :: "nat ⇒ nat ⇒ nat" where
"max x y = (if x ≥ y then x else y)"
lemma "max x y = max y x"
apply(simp add:max_def)
done
這不是一個家庭作業。我真的很好奇,並希望儘可能多地瞭解伊莎貝爾和數學證明。謝謝你的時間。
不要忘記檢查混凝土語義學(Nipkow和Klein)這本書。它可以在網上免費下載,其前5章是對伊莎貝爾的實際介紹:http://www.concrete-semantics.org/ – Tarc
我之前偶然發現了這本書,並且正在慢慢地走過。感謝您的評論。 – Mike
不客氣。前段時間我努力完成第一部分。這是具有挑戰性的,但非常值得努力。 – Tarc