F '순수 증명 나는이 증거를 발견,하지만 난 내 증거가 맞는지 확실하지 않다. 문제는 다음과 같습니다.
유효한 인수에 순수한 함수를 적용하는 것에 관한 상호 법칙의 변형을 상상할 수 있습니다. 위의 법을 사용하여, 그 증명 :
pure f <*> x = pure (flip ($)) <*> x <*> pure f
경우 "위 법률"포인트를 Applicative Laws에, 간단히 다음과 같이
pure id <*> v = v -- identity law
pure f <*> pure x = pure (f x) -- homomorphism
u <*> pure y = pure ($ y) <*> u -- interchange
u <*> (v <*> w) = pure (.) <*> u <*> v <*> w -- composition
내 증거는 다음과 같습니다
pure f <*> x = pure (($) f) <*> x -- identical
pure f <*> x = pure ($) <*> pure f <*> x -- homomorphism
pure f <*> x = pure (flip ($)) <*> x <*> pure f -- flip arguments
마지막 단계는 단일 η 확장으로 충분히 직설적입니다. 그렇지 않습니까? '($ f). 플립 ($) ≡ \ x -> ($ f) $ ($ x) ≡ \ x -> ($ x) $ f ≡ \ x -> f $ x ≡ f'. – leftaroundabout
@leftaroundabout 예, 필자는 실제로 Typoclassopedia에 연습 문제에 대한 해결책을 쓰고 있습니다.이 설명은 해당 게시물에 대한 것입니다. 그래서 처음에는 그것을 파악하기 위해 고생하는 모든 사람들을 설명하려고했습니다. btw, 편집 해 주셔서 감사합니다. 훨씬 좋습니다. –