如何证明"(∀x.P)∧Q⟹⟹x。 P"在伊莎贝尔使用conjunct1?

时间:2014-12-12 12:56:49

标签: isabelle

我正试图证明这一点:

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

我的证据应该改变什么?

1 个答案:

答案 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会获得不同的类型变量。