gpt4 book ai didi

dependent-type - 如何在精益中证明 a = b → a + 1 = b + 1?

转载 作者:行者123 更新时间:2023-12-04 23:39:36 25 4
gpt4 key购买 nike

我正在学习 lean tutorial 的第 4 章.

我希望能够证明简单的等式,例如 a = b → a + 1 = b + 1 没有 必须使用 calc 环境。换句话说,我想明确构建以下证明项:
example (a b : nat) (H1 : a = b) : a + 1 = b + 1 := sorry
我最好的猜测是我需要使用 eq.subst以及标准库中关于自然数相等的一些相关引理,但我不知所措。我能找到的最接近的精益例子是这样的:
example (A : Type) (a b : A) (P : A → Prop) (H1 : a = b) (H2 : P a) : P b :=
eq.subst H1 H2

最佳答案

您可以使用 congr_arg 引理

lemma congr_arg {α : Sort u} {β : Sort v} {a₁ a₂ : α} (f : α → β) :
a₁ = a₂ → f a₁ = f a₂

这意味着如果您为函数提供相等的输入,则输出值也将相等。

证明是这样的:
example (a b : nat) (H : a = b) : a + 1 = b + 1 :=
congr_arg (λ n, n + 1) H

请注意,Lean 能够推断出我们的函数是 λ n, n + 1 ,所以证明可以简化为 congr_arg _ H .

关于dependent-type - 如何在精益中证明 a = b → a + 1 = b + 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41946310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com