Last active
November 13, 2018 15:17
-
-
Save Kazark/3b237e27ce1eb733b923da2c6ebf46f0 to your computer and use it in GitHub Desktop.
Intuitionist logic is by no means denying the law of excluded middle!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module NotNotLEM | |
%default total | |
%access public export | |
notDistributesOverEither : Not (Either a b) -> (Not a, Not b) | |
notDistributesOverEither neither = (notLeft neither, notRight neither) where | |
notLeft : Not (Either a b) -> Not a | |
notLeft neither x = neither (Left x) | |
notRight : Not (Either a b) -> Not b | |
notRight nor y = nor (Right y) | |
notNotExcludedMiddle : Not (Not (Either a (Not a))) | |
notNotExcludedMiddle middle = | |
let (notA, notNotA) = notDistributesOverEither middle | |
in notNotA notA | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment