我正试图证明这一点:
lemma
assumes 0: "(∀x. P) ∧ Q"
shows "∀x. P"
proof -
show ?thesis using 0 by (rule conjunct1)
qed
我得到了:
Failed to apply initial proof method⌂:
using this:
(∀x. P) ∧ Q
goal (1 subgoal):
1. ∀x. P
我的证据应该改变什么?
答案 0 :(得分:3)
类型推断妨碍了你。如果你在两种情况下都修改了x
的类型,即
lemma
assumes 0: "(∀(x::nat). P) ∧ Q"
shows "∀(x::nat). P"
proof -
show ?thesis using 0 by (rule conjunct1)
qed
它有效。
如果没有此类型的注释,Isabelle会将第一个x
推断为类型'a
,即类型变量,第二个x
会获得不同的类型变量。