[Haskell-cafe] Derive ET from DN in calculus of constructions

Tom Smeding x at tomsmeding.com
Fri Nov 1 18:48:46 UTC 2024


This, but then in Agda, was an exercise for a course I did at some 
point. I'm not too familiar with the CoC, but the proof is down-to-Earth 
enough (once you find it) that it should work in anything that does 
basic type theory.

The trick is that you can prove not (not (excluded third)) from first 
principles. Then applying double negation yields the result.

Perhaps that helps. :)

- Tom

On 01/11/2024 14:44, Dmitriy Matrosov wrote:
> Hi.
>
> I've reading "Type theory and formal proof, an introduction"
> book and in chapter 7.4 authors say, that in constructive
> logic plus either excluded third law (ET) or double negation
> law (DN) we can derive the other. And then authors derive DN
> from ET in calculus of constructions. But they didn't say
> anything (yet?) about the vice versa: deriving ET from DN in
> calculus of constructions.
>
> I've tried to do this, but the best i can come up with is
> just case analysis:
> - assume, that 'a' is true, then 'a or not a' is also true
>    (by 'or-intro' rule).
> - or if after assuming that 'a' is true we can derive
>    bottom, then 'not a' is true (by 'not-intro' rule).
>    Then using the 'or-intro' rule we again end up with 'a or (not
>    a)' being true.
> - assume 'not a' and if we can derive bottom again, then
>    'not (not a)' is true. Then by using DN we again end up
>    with 'a' being true.  etc.
>
> I.e. I may reduce any (not.. (n times) .. not a) into either
> 'a' or 'not a' by using DN and function composition. Thus, i
> probable can derive ET from DN using induction, but i can't
> code neither induction, nor above case analysis in calculus
> of constructions.
>
> So, is it possible to derive ET from DN in calculus of
> constructions? If it is, i'd appreciate not a direct answer,
> but a hint on how to do this. And if it is not,
> well, probably, authors will explain this later in the book
> and I should just continue reading.
>
> Thanks.
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.



More information about the Haskell-Cafe mailing list