Logic 如何证明r→;(x:㈃;x:α;,r)处于精益状态
我试图证明逻辑陈述Logic 如何证明r→;(x:㈃;x:α;,r)处于精益状态,logic,proof,theorem-proving,lean,Logic,Proof,Theorem Proving,Lean,我试图证明逻辑陈述r→ (∃ x:α,r),其中r是Prop(命题或陈述),而α是类型。通过本书的练习,我已经在精益方面证明了一些东西,但我仍然坚持这一点 我真的不知道我甚至不明白为什么这是真的。既然不存在α类型的x,那么α无人居住不就意味着这是一个错误的说法吗 我最好的“尝试”是1)希望lean的Democrator能满足我的需要 theorem t5_2: r → (∃ x : α, r) := assume rx: r, ⟨_, rx⟩ 但它无法推断出某种类型的α,这是有意义
r→ (∃ x:α,r)
,其中r
是Prop
(命题或陈述),而α
是类型
。通过本书的练习,我已经在精益方面证明了一些东西,但我仍然坚持这一点
我真的不知道我甚至不明白为什么这是真的。既然不存在α类型的x
,那么α无人居住不就意味着这是一个错误的说法吗
我最好的“尝试”是1)希望lean的Democrator能满足我的需要
theorem t5_2: r → (∃ x : α, r) :=
assume rx: r,
⟨_, rx⟩
但它无法推断出某种类型的α
,这是有意义的。2)我还认为这可能是一个非建设性的证明,所以我想用矛盾来证明。然而,我在纸上写得最多的是
¬ (∃ x : α, r) → (∀ x : α, ¬ r) → ??
我不知道如何在精益中实现第一个含义,即使我做到了,我仍然需要x
类型α
来消除∀代码>
如果有任何提示,我们将不胜感激。那句话大体上是不正确的<代码>α
可以是空的
:
example : ¬ ∀ (α : Type) (r : Prop), r → (∃ x : α, r) :=
begin
intro h,
cases h empty _ true.intro with w,
cases w
end
如果您假设[a]
example (α : Type) [inhabited α] (r : Prop) : r → (∃ x : α, r) :=
λ h, ⟨inhabited.default α, h⟩
我认为这个问题在数学论坛上会更好。我也在那里问过,但是堆栈溢出有一个精益标签,而数学论坛没有。如果你想投票关闭,你可以。我在这里看到了一些精简的问题,但在数学论坛上没有。@EnricoBorba你是对的,这不是所有α都可以证明的。你从哪里得到的练习?我得到的。它位于第4.4节的底部,这是结尾处的许多示例问题中的第二个问题对不起。您对所居住类型的评论是正确的。但是请注意,TPiL表示“注意声明变量a:α
相当于假设至少有一个α类型的元素。在第二个示例中以及在最后两个示例中都需要此假设。”在练习之后,您将询问。