<div dir="ltr">You may find this helpful:<div><br></div><div><a href="https://www.cs.cmu.edu/~cmartens/if/dem.html">https://www.cs.cmu.edu/~cmartens/if/dem.html</a></div><div><br></div><div>Actually, you probably won't find it helpful, but at least it is amusing.  And after you figure out your proof, you can go back and figure out what this story has to do with it.</div><div><br></div><div>-Brent</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 1, 2024 at 8:45 AM Dmitriy Matrosov <<a href="mailto:sgf.dma@gmail.com">sgf.dma@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi.<br>
<br>
I've reading "Type theory and formal proof, an introduction"<br>
book and in chapter 7.4 authors say, that in constructive<br>
logic plus either excluded third law (ET) or double negation<br>
law (DN) we can derive the other. And then authors derive DN<br>
from ET in calculus of constructions. But they didn't say<br>
anything (yet?) about the vice versa: deriving ET from DN in<br>
calculus of constructions.<br>
<br>
I've tried to do this, but the best i can come up with is<br>
just case analysis:<br>
- assume, that 'a' is true, then 'a or not a' is also true<br>
  (by 'or-intro' rule).<br>
- or if after assuming that 'a' is true we can derive<br>
  bottom, then 'not a' is true (by 'not-intro' rule).<br>
  Then using the 'or-intro' rule we again end up with 'a or (not<br>
  a)' being true.<br>
- assume 'not a' and if we can derive bottom again, then<br>
  'not (not a)' is true. Then by using DN we again end up<br>
  with 'a' being true.  etc.<br>
<br>
I.e. I may reduce any (not.. (n times) .. not a) into either<br>
'a' or 'not a' by using DN and function composition. Thus, i<br>
probable can derive ET from DN using induction, but i can't<br>
code neither induction, nor above case analysis in calculus<br>
of constructions.<br>
<br>
So, is it possible to derive ET from DN in calculus of<br>
constructions? If it is, i'd appreciate not a direct answer,<br>
but a hint on how to do this. And if it is not,<br>
well, probably, authors will explain this later in the book<br>
and I should just continue reading.<br>
<br>
Thanks.<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>