Haskell 等式推理的名称从何而来?

Haskell 等式推理的名称从何而来?,haskell,functional-programming,Haskell,Functional Programming,我知道在任何情况下,代码片段都可以被其他代码替换,但我真的很好奇“等式推理”的名字从何而来?我在谷歌上搜索过它,但找不到任何相关的答案。它实际上不是一个名字,只是一个经过反复使用而变得标准化的描述。“等式推理”就是“等式推理”;i、 它涉及方程 所涉及的思想是这一系列重写: fmap even . fmap (+1) fmap (even . (+1)) fmap (\x -> even (x +1)) fmap odd (x + 1)(x - 1) x^2 + x - x - 1 x^

我知道在任何情况下,代码片段都可以被其他代码替换,但我真的很好奇“等式推理”的名字从何而来?我在谷歌上搜索过它,但找不到任何相关的答案。

它实际上不是一个名字,只是一个经过反复使用而变得标准化的描述。“等式推理”就是“等式推理”;i、 它涉及方程

所涉及的思想是这一系列重写:

fmap even . fmap (+1)
fmap (even . (+1))
fmap (\x -> even (x +1))
fmap odd
(x + 1)(x - 1)
x^2 + x - x - 1
x^2 - 1
涉及与本系列重写相同的思考:

fmap even . fmap (+1)
fmap (even . (+1))
fmap (\x -> even (x +1))
fmap odd
(x + 1)(x - 1)
x^2 + x - x - 1
x^2 - 1

在这两种情况下,您都使用类似于
fmap f的方程式。fmap g=fmap(f.g)
(a+b)(c+d)=ac+ad+bc+bd
,您知道这些术语通常适用,并使用它们将您的术语转换为可证明等效的术语。这些方程式是关键,之前已经被证明是成立的(最好是由其他人证明的)。

我经常听到“关于程序的理由”或“推理”,例如,“关于程序的理由”。这是什么意思?@MattElson它的意思类似于“思考”。“关于此代码的推理”意味着“思考此代码”,除了它意味着特别关注于想要理解它是如何工作的/为什么工作的,或者想要弄清楚代码的属性。一般的“推理”意味着比一般的“思考”更严格或更高效。“思考这个代码”没有那么具体,因为它包含了我与这个代码相关的任何思考过程。如果我说“我的理由是……”我将向你们解释我的思维过程;我是如何得出一些结论的。@MattElson这能让你们感觉到吗?如果不能,这对english.stackexchange.com来说可能是一个很好的问题。:)