一本非常偶尔的日记 @ 尼基塔·丹尼洛夫

主要观点:

  • 可将编程语言中的类型视为代数对象,如列表(List)、二叉树(BT)等,通过多项式函子等数学机制进行分析。
  • 对类型进行各种代数变换,如从 List(x) - x·List(x) 到 List(x)·(1 - x) 的推导,虽有一定合理性但后续部分难以解释。
  • 定义并计算数据类型构造函数的导数,如 List、BT 等的导数,它们与拉链结构相关。
  • 从多项式函子到分析函子,如从 List(x) 的多项式形式到 Bag(x) = e^x 的指数形式,讨论不同数据结构的性质。
  • 研究各种类型对应的泰勒展开式,如双曲函数、对数函数等,以及它们所代表的类型意义。

关键信息:

  • 不同类型的数学定义和表示,如 List(x) = 1 + x·List(x),BT(x) = 1 + x·BT(x)·BT(x) 等。
  • 各种类型的导数计算及性质,如 d List(x) = List^2(x),d BT(x) = BT^2(x)·Zipper_2(x) 等。
  • 不同类型如 Bag(x) = e^x,Set(x) = 2^x 及其性质和组合解释。
  • 如 Chen–Fox–Lyndon 定理等相关定理及其历史和应用。

重要细节:

  • 详细介绍了各种类型构造函数的推导过程和数学原理,如从 List(x) 到 List(x) = 1 + x + x^2 + x^3 + … 的推导。
  • 对不同类型的导数计算过程进行了详细说明,如对 BT(x) 导数的计算。
  • 阐述了不同类型如 Bag(x)、Set(x) 与其他数学概念的联系和区别,如 Bag(x) 与指数函数的关系,Set(x) 与子集的关系。
  • 提及了相关定理的历史背景和研究文献,如 Chen–Fox–Lyndon 定理的相关研究。
阅读 18
0 条评论