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 fそれはlength-preserving である、またはinglengthの下で不変であると言えます。map fそれではどうですか:

  • g は f 保存です。
  • f は (適用中の) g の下で不変です。
于 2011-12-01T18:00:59.800 に答える