私はまだ Isabelle のセマンティックの平等について推論しようとしています。2 つの数式を比較して、それらが等しいかどうかを確認したい。これには商型が必要だと以前に言われました。だから私は自分自身をquotiernttypeに定義しようとしましたが、私の定義の後にコードを書くことができないように見えるので、どうやら私の定義は完全ではありません。これまでの私のコードは次のとおりです。
theory Scratch
imports Main
begin
no_notation plus (infixl "+" 65)
typedecl basicForm
datatype form_rep = af basicForm
axiomatization
equals :: "form_rep ⇒ form_rep ⇒ bool" (infix "≐" 1) and
plus :: "form_rep ⇒ form_rep ⇒ form_rep" (infixl "+" 35)
where
reflexive: "x ≐ x" and
symmetric: "x ≐ y ⟹ y ≐ x" and
transitiv: "x ≐ y ⟹ y ≐ z ⟹ x ≐ z" and
commut: "x + y ≐ y + x" and
associatPlus: "(x + y) + z ≐ x + (y + z)" and
idemo: "x + x ≐ x"
quotient_type formula = "form_rep" / "equals"
私はいくつかの基本的な式とその複雑なバージョンを持っており、複雑なタイプについて推論したいので、等式関係の 3 つの公理と 3 つの追加の簡単な公理で等号を定義しました。
編集:どうやら私は引用符を追加するのを忘れたばかです-.-ここから先の考えを続ける方法がまだわかりません。