প্রস্তাব (P -> Q) -> Q
এবং P \/ Q
সমতুল্য।
হাস্কেলের মধ্যে এই সমতা দেখার কোন উপায় আছে:
from :: Either a b -> ((a -> b) -> b)
from x = case x of
Left a -> \f -> f a
Right b -> \f -> b
to :: ((a -> b) -> b) -> Either a b
to = ???
যেমন যে
from . to = id
এবং to . from = id
?
g = const someHardcodedB
a
বা হয় b
। বোধ হয়।
to f = callcc (\k -> k (Right (f (\a -> k (Left a)))))
কাজ করবে। (এটি জড়িত থাকার একটি বৈধ শাস্ত্রীয় প্রমাণ))
((a -> b) -> b)
isomorphica
যা কেবলমাত্র সম্ভাব্য বাস্তবায়নg f = f someHardcodedA
।