(x->(~x))->(~x)
Law of excluded middle is:
x | ~x
Proof follows:
(x->(~x))->(~x)
From definition of implication is equivalent to:
(~x) | ~(x->(~x))
From definition of implication is equivalent to:
(~x) | ~((~x) | (~x))
From de Morgans law is equivalent to:
(~x) | (x & x)
From identity law is equivalent to:
~x | x
I am not a logician and I might not have gotten all the details right, but I certainly think this is possible. I also have quite a good proof by authority ;) in form of an article by Alonzo Church:
http://www.ams.org/journals/bull/1928-34-01/S0002-9904-1928-...
Actually, at first I thought it was incorrect because you used De Morgan's law, which I mistakenly thought was invalid in intuitionistic logic. However, I looked it up and apparently only ~(p & q) |- ~p v ~q is invalid in IL.
It's possible to create reductio ad absurdum in Coq:
Definition reductioAdAbsurdum (X:Prop) (f : (X -> (X -> False))) (x:X) : False := f x x.
But not the law of the excluded middle.Edit: It's much clearer in Idris:
reductioAdAbsurdum : (x -> (x -> _|_)) -> (x -> _|_)
reductioAdAbsurdum f x = f x xIn propositional logic, material implication is a valid rule of replacement which is an instance of the connective of the same name. It is the rule that states that "P implies Q" is logically equivalent to "not-P or Q".
Nice flame, eot.
Arguably, the common sense definition of 'A -> B' is simply modus ponens. That is 'Given A and A->B, it follows that B'. It's then no longer obvious that A -> B is equivalent to ~A v B.
Indeed, implication in IL is different from material implication even though IL has modus ponens.
((~x) -> x) -> x
or: ((x -> _|_) -> x) -> x
Which is not constructible in Coq/Idris.