Genelde idris ve teorem ispatlarıyla oynamaya başladım. İnternetteki temel bilgilerin ispatlarının örneklerinin çoğunu takip edebilirim, bu yüzden kendi başıma keyfi bir şey denemek istedim. Yani, haritanın aşağıdaki temel özellik için kanıt terim yazmak istiyorum:Harita bul id = id idris?
map : (a -> b) -> List a -> List b
prf : map id = id
Sezgisel, ben kanıtı çalışması gerektiğini nasıl tahmin edebilirsiniz: keyfi bir liste l alın ve harita kimliği l olasılıklarını analiz edin. L boş olduğunda, belli ki; l boş olmadığında, işlev uygulamasının eşitliği koruduğu kavramı temel alır.
prf' : (l : List a) -> map id l = id l
Tüm açıklamada için gibi: Yani, böyle bir şey yapabilirsiniz. İlgili fonksiyonların eşitliğinin bir kanıtı haline nasıl dönüştürebilirim?
@BrianMcKenna: OP'nin zaten yazabileceği belirtilen "prf" yi nasıl ispatlayacağınızı açıklıyorsunuz. Onun sorusu olasılıkla “prf” nin genişleme eşitliğine kaldırılmasıyla ilgilidir. – Cactus