协同思维
由David Corfield发布
遇到彼得·弗雷德(Peter Freyd)的coalebraic特征化最近我花了一些时间试图理解余代数。其中代数对于内函子是一个对象属于和箭头一起,一个联合布拉格对于需要对象带箭头.
我找到了一条在我看来很有趣的路。首先我偶然发现了巴特·雅各布的书余代数导论:状态和观测的数学.这是我极力推荐的。让我给你一些金块:
代数的二重性形成了灵感和对立的源泉:代数和余代数之间存在着“仇恨-爱”的关系。(第五页)
如前所述,编程语言最终只包含一个余代数和一个代数。程序是从正在使用的编程语言中产生的代数元素(即所谓的初始代数)。每一种语言结构都对应于特定的动态,通过一个coalgebra捕获。因此,程序的行为由作用于计算机状态空间的余代数来描述。(第五页)
代数和余代数之间有许多相似之处(或二重性),它们通常用作指导原则。但人们应该记住,代数和余代数之间也有显著差异。例如,在计算机科学环境中,代数主要用于处理有限数据元素,例如有限列表或树,使用归纳法作为主要定义和证明原则。余代数的一个关键特性是它处理潜在的无限数据元素,并使用适当的基于状态的概念和技术来处理这些对象。因此,代数是关于构造的,而余代数是关于解构的——被理解为观察和修正。(第47页)
经验法则是:数据类型是代数,基于状态的系统是余代数。但这并不总是给出明确的区分。例如,堆栈是数据类型还是有状态?然而,在许多情况下,这个经验法则是有效的:自然数是代数(正如我们即将看到的),机器是余代数。事实上,后者有一种可以观察和修改的状态。(第47-8页)
现在,正如初始代数是数学的重要组成部分一样,余代数的一个关键属性是终结性。
初始代数是特殊的,就像最后的余代数一样。初始代数(在集合中)可以被构建为所谓的项模型:它们包含所有可以从操作本身构建的东西,仅此而已。类似地,我们看到最后的余代数由仅用于观察。(第48页)
如果函子有初始代数或最终余代数,那么它与函子下的图像同构。实际上,初始代数就像函子的最小不动点,而最终余代数就像最大不动点。
取函子,对于固定集.为了寻找最小的固定点,我们尽可能少地输入。因此,我们从空集合开始构建,将任何现有的列表集转换为一个新集合,其中包括空列表和通过添加元素到旧列表中。所有有限列表元素是以这种方式生成的,而不是其他方式,因此这些列表构成了初始代数的元素。但较大的设置由即-流或有限和无限列表元素。这实际上是最后一个联合体。
Coalgebras是关于观察的。我们可以考虑观察一个实体是否包含某种东西-是否可检测,如果可检测它会检测。观察到一些它会改变它的东西。最后的联合体包含了你可能观察到的行为的所有可能结果。你还有列表元素吗?如果没有,我们有一个有限的列表。如果总是是,我们有一个无限列表。没有其他可以检测到的行为。
现在,关于最大化的讨论让我想起了我的博士生导师唐纳德·吉利斯(Donald Gillies)编辑的一本书中的一章,书名为数学革命在《一次失败的恢复》中,赫伯特·布雷格(Herbert Breger)认为,希尔伯特将他的数学风格作为既定规范,实际上这是一种非常新颖的处理方式。显然,Finsler(以Finsler几何学闻名)推广了一种古老的数学风格,通过编写系统满足的属性列表来捕获被视为已经存在的系统,从而使系统相对于属性而言是最大的。
当谈到集合时,芬斯勒将集合系统定义为相对于某些属性而言最大的集合,而不是通过控制集合的结构、从空集合和各种结构自下而上地构建集合来担心集合理论悖论。布雷格告诉我们,到1928年,芬斯勒的方法被彻底误解了,莱因霍德·贝尔(Reinhold Baer)在一篇四页纸的论文中以不一致为由驳回了芬斯勒的集合理论。Baer证明了任何满足Finsler公理的系统都可以被推广,因此不存在最大的这样的系统。但在这样做时,他使用了与芬斯勒不同的集合形成规则。
对Zermelo、Fraenkel、Baer和其他人来说,确定属性的概念与集合的概念密不可分,其基本哲学是形成良好的定义创建对象。
芬斯勒将面临一场孤独的战斗,我们听说他仍在1969年,即他去世的前一年,写着连续体假说如何在他的集合论中仍然是开放的,在他所谓的“经典数学”中。被忽视的芬斯勒甚至没有维基百科条目,而MacTutor历史尽可能简短。
但是,没有必要为芬斯勒感到难过,因为他的想法或类似的想法后来已经初见端倪。在他的不成立集合,彼得阿克泽尔描述了发展集合论的一系列方法,该集合论不符合基础扎实的条件,即成员链必须是有限的。
如果如芬斯勒所说,这是“经典数学”,那么Aczel受到计算机科学的启发可能很奇怪:
我对非基础完备集概念的最初兴趣来源于对罗宾·米尔纳(Robin Milner)的著作的阅读,该著作与他对并发过程数学理论的发展有关。(第xix页)
另一方面,也许我们可以说,计算机科学家正在处理已经存在的系统——他们面前正在运行的程序计算机。
当然,我们在Aczel的书中听到了最大化的声音:
因此,在自然数公理系统的情况下,极值公理是数学归纳的原理,这是一个最小化公理,因为它表示在保持其他公理的真理的同时,不能从自然数域中减去任何对象。另一方面,欧几里德几何和实数的公理系统涉及完备性公理。这些是最大化公理;也就是说,它们表示,在保持其他公理的真理的同时,对象的领域不能扩大。(第106页)
Aczel提出了自己的反基础公理AFA,并将其与其他类似公理进行了讨论公理包括FAFA(芬斯勒)和SAFA(达娜·斯科特)。他注意到
令人惊讶的是,这一“成功”花了50多年的时间才实现,而Fraenkel只等了几年。值得注意的是,芬斯勒公理系统使用了集合同构的概念,这与Mirimanoff引入的概念不同。如果他使用了米里马诺夫的概念,那么由此产生的反基础公理将是我所称的斯科特的AFA。(第107页)
但这与余代数有什么关系呢?有一个项目叫做代数集合论.在他的介绍Steve Awodey写到:
AST中作为起点的新见解是,集合论模型实际上是一个适当提出的代数理论的代数,因此许多熟悉的集合论条件(如基础良好)与熟悉的代数条件(如自由)有关。
那么联盟呢?好吧,考虑从集合类类别到自身的函子,它发送一个类到的子类它们是集合。必须作出这一限制,否则将没有固定点。现在,这个函子的初始代数是集合类,最后的余代数是非良基集合类。这里有一篇很好的文章是Rutten和Turi的最后语义学的基础:非标准集,度量空间,偏序
所以,现在我想知道,如果我们遵循芬斯勒的理论,选择一种更为统一的数学方法,我们会有什么可能。数学中有很多代数思维,你最好去看看汤姆·伦斯特的余代数拓扑例如,包括严格的类别-范畴作为有限乘积范畴上增函数的余代数。
然后巴甫洛维奇和埃斯卡多告诉我们共导形式的微积分:
巧合通常被视为实现无限对象的一种方式。由于实数是典型的无限对象,所以当微积分以适当的方式表示时,它会渗透到共性推理中,这可能并不奇怪。令人惊讶的是,最近在计算机科学背景下发展起来的数学技术似乎对一些基本的微积分方法有了新的认识。我们介绍了一种初等微积分的共导形式化,它可以用作符号计算的工具,面向计算机代数和定理证明。到目前为止,我们已经学习了部分常微分方程和差分方程、泰勒级数、拉普拉斯变换和算子微积分的基础知识。
但是代数眨眼会阻止我们进行更多的联合思维吗?雅各布斯告诉我们
Coalgebra仍处于初级阶段。
当它长大后,人们期望它能帮助团结起来
微分方程理论与自动机和过程理论。
当我们等待的时候,我们可以享受生活的游戏以煤的形式.
发布于2008年11月27日下午4:23 UTC