Я должен доказать тривиальность, используя классы типов:
class order =
fixes lesseq :: " 'a ⇒ 'a ⇒ bool" (infix "≼" 50)
assumes refl: "x ≼ x"
and trans: "x ≼ y ⟹ y ≼ z ⟹ x ≼ z"
and antisym: "x ≼ y ⟹ y ≼ x ⟹ x = y"
begin
theorem "(myle:: ('b::order) ⇒ 'b ⇒ bool) x x"
proof -
show ?thesis by (rule refl)
qed
end
Здесь Isabelle / jEdit выделяет by (rule refl)
розовым цветом и говорит:
Failed to apply initial proof method⌂:
goal (1 subgoal):
1. myle x x
В чем проблема? В противном случае доказательство кажется go до