首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >精益定义组

精益定义组
EN

Stack Overflow用户
提问于 2021-04-16 11:48:12
回答 1查看 145关注 0票数 1

这是Lean pass type as parameter的后续问题。

我尝试了jmc的建议,这似乎是可行的,但后来我被困在了另一个点。这个问题最初的目的是定义群和环的范畴,但现在我显然无法定义群态射:

代码语言:javascript
复制
class group :=
(set: Type)
(add: set → set → set)

infix + := group.add

class group_morphism (G H: group) :=
(f: G.set → H.set)
(additive: ∀ g h : G.set, f(g + h) = (f g) + (f h))

我在第一个+上得到了一个错误。精益似乎认为这指的是H.add,而应该是指G.add

EN

回答 1

Stack Overflow用户

发布于 2021-04-16 12:01:20

您正在重新定义+表示法,这将很快导致头痛。有一个多态+表示法是非常有用的。(你将如何表示圆环中的加法?)

进一步要点:

您应该使用class

  • mathematically,而不是,您定义的是一元和单半群,而不是组和组。

不过,这是可行的。

代码语言:javascript
复制
(set: Type)
(add: set → set → set)

def add {G : group} := group.add G

class group_morphism (G H: group) :=
(f: G.set → H.set)
(additive: ∀ g h : G.set, f(add g h) = add (f g) (f h))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67124674

复制
相关文章

相似问题

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