13

许多常用的函数属性都有简洁的名称。例如,关联性、交换性传递性等。

我正在制作一个与QuickCheck一起使用的库,它提供了这些属性和其他属性的简写定义。

我有一个问题是一元函数的幂等性。函数 f 是幂等的 iif ∀x 。fx == f (fx)。

这个属性有一个有趣的概括,我正在努力寻找一个类似的简洁名称。为了避免通过建议一个人的名字选择来产生偏见,我将其命名为 P 并提供以下定义:

函数 f 具有关于 g iif ∀x 的 P 属性。fx == f (gx)。我们可以通过根据 P 重新定义幂等性来将其视为幂等性的推广。如果函数 f 具有关于自身的 P 属性,则它是幂等的。

要看到这是一个有用的属性,请注意它证明了可用于实现许多常见优化的重写规则。当 g 是某种规范化函数时,这通常但并不总是出现。一些例子:

你会给这个属性起什么名字?

4

1 回答 1

14

可以说map flength-preserving,或者在inglength下是不变的。map f那么怎么样:

  • g 是保留 f 的。
  • f 在(应用)g 下是不变的。
于 2011-12-01T18:00:59.800 回答