私はちょうどIsabelleとの最初のステップを開始していますが、定理証明者と証明補助人には新しく、少し失われています。私は主に機能解析や代数への応用に興味があります。ドキュメンテーションを見ましたが、ロケールを使って独自の例を得ようとしていますが、いくつかの非常に基本的な問題に遭遇しました。私のコードはIsabelleの非常に単純な補題
theory MyTheory
imports Main
begin
locale semigroup_mult =
fixes f :: "'a ⇒ 'a ⇒ 'a" (infixl "x" 70)
and e :: 'a ("e")
assumes assocm : "a x b x c = a x (b x c)"
and right_neutralm : "(a x e) = a"
and left_neutralm : "(e x a) = a"
begin
lemma assoc_general: "b x (a x c) = (b x a) x c"
apply (rule assocm)
done
end
end
これは証明ちょうど一歩ですが、私はイザベルが動作することはできません...私は適用行を削除した場合、それは証明を完了することはできませんと言うと、applyコマンドはエラーを与えています
「証明」モードでの証明コマンドの不正なアプリケーション
私が間違って何をしているのですか?どんな助けもありがとう。例えば、 "show ... by"構文と "apply"構文、 "proof ... qed"と "done"の使用の違いです。
二次問題は、Isabelleが学部の数学の教科書に見られるものと同様の証明を出力できるかどうかです。