1

私はまだ 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 つの追加の簡単な公理で等号を定義しました。

編集:どうやら私は引用符を追加するのを忘れたばかです-.-ここから先の考えを続ける方法がまだわかりません。

4

1 に答える 1