第三十四章 次序与运算:
新代数结构怎样发生

34.1 次序怎样从发生依赖中表达出来

次序不只是把对象排成一行。一个任务需要另一个任务先提供条件,一段路径能够接到另一段路径之后,一个信息状态包含另一个状态所需的内容,都可能形成次序关系。数学要研究的是,这些关系满足什么规范,以及这些规范怎样从具体发生中得到表达。

先取一个有向图,把x能够沿有限路径到达y记为x≼y。允许零步路径,所以每个点都满足x≼x;允许路径连接,所以x≼y且y≼z时,有x≼z。这个关系具有自反与传递,但未必具有反对称性,因为两个不同点可以互相到达。图中有回环,并不意味着逻辑出现了命题矛盾,只说明当前关系允许双向承接。

若研究任务希望把互相可达的点作为一个整体,可以定义x与y等价,当且仅当二者互相可达。自反由零步路径支持,对称由定义中的双向要求支持,传递由路径连接支持。于是节点被分成若干等价类。这里的“一个整体”不是随意圈出的图形,而有明确的关系判据。

在等价类上,规定[x]≼[y]当且仅当x能够到达y。这个定义必须检查不依赖代表选择。若x′与x互相可达,y′与y互相可达,那么由x′到x、x到y、y到y′可以连接出x′到y′。换代表不会改变类之间的可达关系,因而定义成立。

这个类关系不仅自反、传递,而且反对称。若[x]能够到达[y],[y]也能够到达[x],则x与y互相可达,所以它们本来就属于同一类。由此,原先允许回环的关系在适当对象重构后形成偏序。次序公理不是从外部强行贴上,而是在保留可达、合并相互可达对象的构造中得到证明。

这是一项典型的三原理应用。原有节点身份与双向依赖之间产生了不适合当前层级的张力,促使S中的对象单位改变;新的单位又改变后续D的推进,使E中的整体依赖得到更清楚表达。发生学说明为什么需要重构,数学证明说明重构以后哪些性质成立。

但把回环压成一个单位,不等于解决了实际任务中的循环依赖。若两个设备操作必须彼此先完成,简单合并名称并不能使它们执行。还需要研究是否能够同时求解、改变资源或重写操作。数学结构给出可辨认层级,不会自动替现实过程消除困难。

因此,次序的发生应当同时保存形式成果与现实限制。类之间的偏序可以帮助组织研究,但类内部的结构不能因为被压缩就被忘记。粗粒度有助于推进,必要时仍要重开内部关系。基础性知识正是这种能够分层又能够恢复的结构认知。

34.2 运算怎样保留或改变纠缠关系

运算使对象能够组合出新的对象。它可以是数相加、字符串连接、路径接合,也可以是状态更新。不同运算保留不同关系,不能只因为都写一个乘号,就认为它们遵循同一套公理。运算的发生首先需要明确输入、输出与组合条件。

以有限字符串为例。取一个字母表,允许由其中字母构成有限串,并允许空串。两个串连接,是把第二个串的全部符号接在第一个之后,保持各自内部次序。连接结果仍然是有限串,所以运算封闭;空串与任何串连接都不改变后者,所以空串是双侧单位。

结合性也可以从具体定义证明。设u、v、w的长度分别为m、n、p。无论先连接u与v,还是先连接v与w,最终长度都为m+n+p;前m个位置来自u,接下来的n个位置来自v,最后p个位置来自w。每个位置的字母相同,因此两种分组方式得到同一串。

这个证明使用了通常有限序列与整数位置运算,作为当前公开的元理论。它没有先把连接定义成“满足结合律的运算”,而是从具体拼接规则得到结合性。因而它提供了一个有内容的公理发生重构,同时不宣称已经无前提地创造全部整数基础。

结合性所保留的是相对次序,而不是允许任意交换。串“甲乙”通常不等于“乙甲”。如果任务关心次序,交换会改变对象;若任务只关心成员出现,可以另外取忽略次序的等价类,但必须检查运算能否在该等价类上稳定定义。新的公理来自新的保留关系,而不是原结构自动拥有。

路径连接还具有类型限制。x到y的路径只能与以y为起点的路径直接承接;不能把任意两段路径都当成可组合对象。此时组合是部分定义的,但在端点匹配的情况下,重新分组仍然保持相同路径。它与全域二元运算的结构不同,基础知识需要能够辨认这种差别。

状态更新则可能改变相关纠缠。领取器材使占用关系变化,归还使可分配范围变化;同样两个动作换序,结果可能不同。把它们表示为函数组合,可以研究哪些操作交换、哪些不交换。数学在这里不是给流程换一个符号,而是帮助辨认次序的实际后果。

因此,运算既是组合工具,也是关系保持的承诺。它告诉我们什么可以接在什么之后,组合是否仍属于对象域,哪些差异被保留,哪些差异被合并。新代数结构的发生,正是这些承诺获得明确形式并接受检验的过程。

34.3 结合、交换、单位等条件怎样逐项审查

一组公理不能因经常同时出现就被当成同一件事。封闭、结合、交换、单位、逆元和幂等分别提出不同要求。逐项审查它们,能够使学习者看见每个条件承担什么,而不是把某类熟悉结构的全部性质当成理所当然。

先看结合与交换。字符串连接具有结合性,却一般不交换;而在三元素集合上定义a*b=−a−b再取模三,可以得到交换运算,却不结合。取a=0、b=0、c=1,先算(a*b)*c得到2,先算a*(b*c)得到1。这个具体反例已经由程序核对。[16]

更重要的是,这个模三运算具有任意两项确定第三项的性质。由s=−d−e,可以恢复d=−s−e,也可以恢复e=−s−d。因此,关系的三个方向都单值可解,却仍然不满足结合律。这给出一个明确边界:三方程式的相互唯一确定,本身不能推出代数结合性。

这个反例不否定三原理的发生研究,却要求桥接更加具体。要得到结合性,需要引入组合不依分组的生成条件,或者从某种明确操作中证明它。不能把“相互规定”与“满足全部常用代数公理”混同。一个小反例使共同根基的研究任务更清楚,而不是更模糊。

单位与逆元也不能混称。字符串有空串单位,但非空串通常没有能够连接后变成空串的逆元,因为连接不会删除已有符号。四向循环转动则可以通过反向转动恢复原指向。两种对象都具有组合,却对可逆性作出不同承诺。创造者需要根据任务选择,而不是把可逆视为所有结构的默认属性。

再看取最大值运算。在{0,1,2}的通常次序下,a*b取二者较大者。它封闭、结合、交换,并且a*a=a;零是单位,因为与零取最大不改变对象。但它不满足一般取消性:最大值(2,0)与最大值(2,1)都为2,不能由结果和第一个输入恢复第二个输入。

这并不意味着“最大值”的知识不能形成完整SDE。它只是说明,把数学运算的两个输入和输出直接当成三个可逆坐标,会遗漏该知识的其他发生关系。学习者可以完整理解一个多对一运算,包括理解它为什么丢失区分。SDE知识的三维完整性,不能被机械缩成每个数学公式都必须可逆。

一个更加深入的连接,是由结合、交换、幂等运算建立次序。定义a≤b,当且仅当a*b=b。幂等保证a≤a;若a≤b且b≤a,交换性使两个结果相同,从而a=b;若a≤b、b≤c,则a*c=a*(b*c)=(a*b)*c=b*c=c,所以a≤c。于是得到偏序。

这个推导还说明a*b是a与b的共同上界,而且是最小的共同上界。因为a*(a*b)=(a*a)*b=a*b,所以a≤a*b;对b同理。若a≤c且b≤c,那么(a*b)*c=a*(b*c)=a*c=c,因此a*b≤c。一个运算的三个性质由此生成一种次序结构。

这里的知识增量不在记住更多性质,而在看见公理之间怎样共同工作。幂等、交换、结合各自进入证明的不同位置,任何一项缺失都可能使结论失败。数学的基础性因此表现为可以追踪承重关系,而不是把所有定理作为独立信息收藏。

34.4 改变一条规定会产生什么新结构

创造新结构,可以从改变一条规定开始,但改变以后必须重新检查整体。若把字符串的次序信息删除,可能得到与交换有关的新结构;若允许删除或反向动作,可能获得可逆关系;若把重复视为没有新增信息,可能引出幂等运算。每一种变化都改变了对象辨认与组合方式。

以信息合并为例。若两份记录完全相同,合并后希望仍只有一份,那么重复不增加内容,可以用幂等结构表达;若研究消息出现次数,则重复必须保留,不能采用同样规定。同一份原始材料,因任务不同而支持不同公理。公理的发生与保留什么特征直接相关。

若还希望合并顺序不影响结果,就需要交换性;若希望分批合并与一次合并一致,就需要结合性。三项共同支持前节的次序构造。但若记录之间可能矛盾,简单合并还不足以决定接受什么,需要增加冲突处理规则。不能把集合并运算的便利直接当成真实知识整合的全部逻辑。

这种分析能够帮助人—AI协作。多个模型输出相似内容时,重复数量不应自动增加证据强度;不同来源的独立支持与同一来源的复述需要区分。数学结构可以帮助表达这种区别,但具体独立性仍需来源检查。形式合并不能代替知识判断。

改变规定也需要考虑旧结论的去留。把运算从字符串连接改为无序合并,原来依赖先后的结论可能失效;增加逆操作以后,某些不可达状态可能变得可达;引入预算限制,原先的组合闭合可能不再成立。新结构的发生档案应当保存这些变化,而不是只列新增优点。

本书的有限运算表枚举提供一种辅助方法。可以在小对象域上系统搜索反例,检查某组公理是否足以支持候选结论。一旦找到反模型,就知道推导不能成立;没有找到,则只能说明当前有限范围尚未出现反例,不能直接升级为一般定理。[14]

这种程序辅助适合与人工证明协作。程序擅长覆盖有限组合,人负责定义正确的搜索对象、解释结果和建立一般论证。若搜索条件已经把目标性质写入,得到全部满足的结果并没有证明力量。算法的输入约束本身也必须接受发生学审查。

本章因此把新代数结构的发生具体化为:明确对象域,定义组合,说明同一性与允许变换,逐项检查公理,再比较改变规定的后果。三原理在这里提供重构位置,符号学使命名稳定,逻辑学使推演可检查,数学使整体结构获得清楚形式。

从可以交换的动作,建立新的等价结构

改变一条规范怎样真正产生一个可研究的新结构,可以用操作历史来说明。先把每段历史写成有限动作串,不忽略任何先后。这个原始结构保留发生顺序,两个串按前后拼接形成更长的历史。现在研究任务提出新的需要:有些相邻动作互不影响,它们交换以后不应被当作本质不同的过程。我们希望压缩这类无关先后,同时保留会改变结果的先后。

设动作a只改变一个记录位,动作b只改变另一个记录位,而且二者的进入条件也不相互依赖。在这个特定构造中,先a后b与先b后a得到相同状态。我们可以明确指定a与b允许交换,并由有限次这样的相邻交换定义历史等价。这个等价不是把所有动作任意打乱:未被指定为独立的动作,仍须保存原有相对次序。

这项等价与拼接相容。若一段历史u可以通过若干次合法相邻交换变成u′,在它前面加同一段p、后面加同一段q,原来的每一次交换仍能在更长的串中执行,所以puq与pu′q等价。因此,历史的等价类可以通过代表串的拼接获得确定的组合,结果不依赖选用哪个代表。结合性与空历史的单位性质由原始拼接保留下来。新的结构不是只提出一种直觉上的“差不多”,而是给出了保持组合的明确条件。

它也能够承担公共推演。如果每对被指定为可交换的动作,在当前完整状态域上都确实满足先后交换不改变结果,那么每一次合法相邻交换都保持执行结果,有限次交换以后结果仍保持。这里的“完整状态域”包括进入条件;仅在某一次初态偶然同结果,不足以保证全部历史都可以交换。这个要求将现实操作的独立性与理念界中的等价构造接起来。

取另一个更敏感的例子:同一件器材的“借出”与“归还”显然不能因为两个名称不同就被指定为独立。某个初态下借出尚未发生,归还便没有对应对象;借出又会改变占用。若把二者的先后抹去,等价类上的执行可能不再明确。失败的位置不是字符串算法,而是把不成立的动作独立性写进了E。发生学要求首先重开这一关系,而不是在结果上不断打补丁。

从本书的三原理看,过细的历史区分与任务所需的共同结果之间出现张力,使新的概念类发生;概念类又要求逻辑的合法替换获得规范;替换规范经相容性检验以后形成新的场结构。它可以减少无关排列而保存关键先后。这是数学对创造的积极支持:不是计算更多排列,而是建立什么排列应当被视为同一种发生的根本规定。

下一章进入空间与度量。我们将看到,距离也不是一开始就写在对象之间的数字;它可以从路径、代价与最优选择的关系中发生,而不同生成条件会支持不同的几何结构。公理不再只是待背诵的起点,而成为可以重新建构的知识。

章末来源与论证身份

[4]三原理与数学公理发生主张。[14]全部三元素运算表的有限检查。[16]可相互唯一求解而不结合的模三反例。偏序、字符串结合性与幂等运算产生次序的论证在本章直接给出,使用通常集合、整数与逻辑作为元理论。

本次增厚中的构造、条件分析与教学材料为本书的进一步展开,不作为三篇理论底本已经给出的结论。