首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >例子:((p∨q)→r)→(p→r)∧(q→r)

例子:((p∨q)→r)→(p→r)∧(q→r)
EN

Stack Overflow用户
提问于 2019-10-19 14:31:30
回答 1查看 602关注 0票数 0

第3.6节定理证明在精益说明如下:

代码语言:javascript
复制
example : ((p ∨ q) → r) ↔ (p → r) ∧ (q → r) := sorry

让我们关注左右方向:

代码语言:javascript
复制
example : ((p ∨ q) → r) → (p → r) ∧ (q → r) := sorry

构造这个例子的好方法是什么?

如果我使用这样的方法(使用了下划线,以便我们可以指示总的方法):

代码语言:javascript
复制
example : ((p ∨ q) → r) → (p → r) ∧ (q → r) := 
    (assume hpqr : (p ∨ q) → r,
        (assume hpq : p ∨ q,
            or.elim hpq 
                (assume hp : p,
                    show (p → r) ∧ (q → r), from and.intro _ _)
                (assume hq : q,
                    show (p → r) ∧ (q → r), from and.intro _ _)))

我们得到:

如果我们将其重组为:

代码语言:javascript
复制
example (hpqr : ((p ∨ q) → r)) : (p → r) ∧ (q → r) := 
    (assume hpq : p ∨ q,
        or.elim hpq 
            (assume hp : p,
                show (p → r) ∧ (q → r), from and.intro _ _)
            (assume hq : q,
                show (p → r) ∧ (q → r), from and.intro _ _))

我们似乎更近了一点:

第3章似乎没有涉及左侧的的其他工作示例。

任何关于如何处理这个问题的建议都是受欢迎的!

更新

下面是基于Yury建议的一种方法:

代码语言:javascript
复制
example : ((p ∨ q) → r) → (p → r) ∧ (q → r) := 
    (assume hpqr : (p ∨ q) → r,
        (and.intro
            (assume hp : p, hpqr (or.inl hp))
            (assume hq : q, hpqr (or.inr hq))))

结果很简单。:-)

更新

下面是一个处理两个方向的iff版本:

代码语言:javascript
复制
example : ((p ∨ q) → r) ↔ (p → r) ∧ (q → r) :=

    iff.intro

        (assume hpqr : (p ∨ q) → r,
            show (p → r) ∧ (q → r), from
                (and.intro
                    (assume hp : p, hpqr (or.inl hp))
                    (assume hq : q, hpqr (or.inr hq))))

        (assume hprqr : (p → r) ∧ (q → r),
            show ((p ∨ q) → r), from
                (assume hqr : p ∨ q,
                    or.elim hqr
                        (assume hp : p, hprqr.left hp)
                        (assume hq : q, hprqr.right hq)))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-19 14:44:16

在本例的假设中没有p ∨ q。所以,你必须直接从(assume hpqr, _)and_intro。我是说,就像

代码语言:javascript
复制
example (p q r : Prop) : ((p ∨ q) → r) → (p → r) ∧ (q → r) := 
assume hpqr,
and.intro (assume p, _) (assume q, _)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58464712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档