Re: [Agda] ℕ ⊆ P U Q -> ¬ isFinite P or ...
Abhishek Anand
abhishek.anand.iitg at gmail.com
Sat Oct 25 20:24:26 CEST 2014
Here is an alternate argument which shows that the halting problem can be
reduced to `question`.
Given a TM (turing machine) and an input to it, construct P and Q as
follows:
P n iff the TM halts within n steps
Q n iff the TM does not halt within n steps.
Note that P and Q can be defined by primitive (structural) recursion on n.
If `question` was inhabited, you could use it to get (¬ isFinite P) ⊎
(¬ isFinite Q),
Now note that (¬ isFinite P) implies the TM halts and (¬ isFinite Q)
implies the TM does not halt
Qed.
-- Abhishek
http://www.cs.cornell.edu/~aa755/
On Sat, Oct 25, 2014 at 12:51 PM, Paolo Capriotti <paolo at capriotti.io>
wrote:
> On Sat, Oct 25, 2014 at 4:18 PM, Sergei Meshveliani <mechvel at botik.ru>
> wrote:
> > And I have an impression that the statement
> >
> > question : {P Q : NSet} → setℕ ⊆ (P ⋃ Q) →
> > (¬ isFinite P) ⊎ (¬ isFinite Q)
> >
> > has not a constructive proof.
> >
> > Has it?
>
> You're right, it's unprovable. In fact, from `question` above you can
> distill a
> function:
>
> h : (ℕ → 2) → 2
>
> such that
>
> ∀ f : ℕ → 2, ¬ isFinite (f⁻¹ (h f))
>
> Now, `h` cannot be continuous. In fact, let `m` be the modulus of
> continuity of
> `h` at `λ _ → 0`, and let `f : ℕ → 2` be defined by:
>
> f n = 0 if n ≤ m
> f n = 1 otherwise
>
> then
>
> 0 = h (λ _ → 0) = h f = 1.
>
> Discontinuous functions are taboo, hence `question` cannot be proved.
>
> Paolo
> _______________________________________________
> Agda mailing list
> Agda at lists.chalmers.se
> https://lists.chalmers.se/mailman/listinfo/agda
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.chalmers.se/pipermail/agda/attachments/20141025/2f877325/attachment.html
More information about the Agda
mailing list