Я все еще пытаюсь рассуждать о семантическом равенстве в Изабель. Я хочу сравнить две формулы и посмотреть, равны ли они. Мне сказали, что для этого мне нужны quotienttypes. Итак, я попытался определить себе тип quotiernttype, но, по моему мнению, мое определение не является полным, так как я, похоже, не умею писать код после моего определения. Моего кода до сих пор:Определение quotient_type в Isabelle
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 дополнительных легкие аксиомы.
Редактирование: Порой я идиот, который забыл добавить котировочные знаки -.- до сих пор не знает, как продолжить дальше от мысли.