「マップ挿入ソート」が「マップマージソート」と等しくないのはなぜですか?


8

中型理論ポッドキャストEP。3、Dan Licataは、すべての入力について、insertionsortとmergesortが同じ結果を与えるという事実は、3番目の関数への引数として高次関数として使用された場合、結果が等しいことを意味しない、つまりmap insertionsort、等しい必要がないと主張しmap mergesortます。

彼はこれを「関数、挿入ソートとマージソートが等しいので、あなたは知らないので」と説明していますが、それでもまだわかりません。

これはなぜですか?反例は素晴らしいでしょう!

回答:


10

それは、拡張性の公理、つまり、関数に対してそれを受け入れるかどうかに関係しています。

∀f,g:A→B, ((∀x:A, f x=g x)⇔f=g).

map f=map g

(∀x:A, f x=g x)⟹∀xs:list A, map f xs=map g xs.
map f=map g

1
もう一度賛成したい。
— Filip Haglund、2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.