id
(a,b) -> a
türünün tek işlevi olan a -> a
ve fst
tek işlevidir. Bu basit durumlarda, görmek oldukça basittir. Ama genel olarak, bunu kanıtlamak için nasıl gidiyorsunuz? Aynı tipte birden fazla olası işlev varsa ne olur?Bir işlevin türü için benzersiz olduğunu nasıl kanıtlıyorsunuz?
Alternatif olarak, bir işlev türü verildiğinde, bu türün benzersiz (bu doğruysa) işlevini nasıl elde edersiniz?
Düzenleme: Özellikle türlere kısıtlamalar eklemeye başladığımızda neler olduğuyla ilgileniyorum.
esinlenerek rağmen A Simple Proof Technique for Parametricity Results Karl Crary tarafından kullanıldı, insanların genellikle id' olduğunu 'söyleyebilirim düşünüyorum Sadece 'a' kelimesinin 'ilginç' veya 'toplam' fonksiyonu. 'undefined', Haskell’de * herhangi bir türde olabilir, ancak kullanışlı bir işlev değildir. Ayrıca ilginizi çekebilir Cinn, mümkün olduğunda bir türden fonksiyonlar üreten bir program, http://lambda-the-ultimate.org/node/1178 –
@JohnL Djinn aslında benzersizliği kanıtlamaz, değil mi? Varsa, o tipin bazı işlevlerini bulur. –
Bu soru, http://cs.stackexchange.com – Heatsink