微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Lean Theorem Prover 中定义 `curry`

如何解决在 Lean Theorem Prover 中定义 `curry`

我正在阅读the official tutorial for Lean 3。我被困在 Chapter 2 中的第二个练习:

完成以下定义,其中“curry”和“uncurry”一个函数

def curry (α β γ : Type*) (f : α × β → γ) : α → β → γ := sorry

def uncurry (α β γ : Type*) (f : α → β → γ) : α × β → γ := sorry

我目前的尝试是

def curry (α β γ : Type*) (f : α × β → γ) (x : α) (y : β) : γ := f (x,y)

这并不令人满意,因为我修改了练习中的类型,而不是仅仅用一些代码替换“sorry”。在保持类型相同的同时采取什么更好的方法?如果您能提供一些提示,而不是完整的解决方案,我将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。