কোকোয় থেমে থাকা সমস্যার অঘোষিত প্রমাণ করা কি সম্ভব?


23

আমি আন্দ্রেজ বাউয়ারের " কনস্ট্রাকটিভ গণিত গ্রহণের পাঁচটি পর্যায় " দেখছিলাম এবং তিনি বলেছিলেন যে দ্বন্দ্বের দ্বারা দুটি ধরণের প্রমাণ রয়েছে (বা দুটি বিষয় যা গণিতবিদগণ দ্বন্দ্বের দ্বারা প্রমাণকে ডাকে):

  1. ধরে নিন মিথ্যা ... ব্লা ব্লা ব্লাহ, দ্বন্দ্ব। সুতরাং পি সত্য।PP
  2. ধরুন সত্য ... ব্লা ব্লা ব্লা, দ্বন্দ্ব। সুতরাং পি মিথ্যা।Pপি

প্রথমটি হ'ল বর্জনিত মধ্যম (এলইএম) এর সমতুল্য এবং দ্বিতীয়টি হ'ল কীভাবে উপেক্ষার প্রমাণ দেওয়া যায়।

হাল্টিং প্রব্লেম (এইচপি) এর সিদ্ধান্তহীনতার প্রমাণ বৈপরীত্যের দ্বারা প্রমাণ: ধরুন এমন একটি মেশিন যা এইচপি স্থির করতে পারে ... ব্লাহ ব্লাহ ব্লাহ, দ্বন্দ্ব। অতএব D এর অস্তিত্ব নেই।Dডি

সুতরাং, " ডি বিদ্যমান থাকতে দিন এবং এইচপি স্থির করতে পারেন"। ধরুন পি সত্য ... ব্লা ব্লা ব্লা, দ্বন্দ্ব। সুতরাং পি মিথ্যা।পিডিপিপি

এটিকে দ্বিধাদ্বন্দ্বের দ্বারা দ্বিতীয় ধরণের প্রমাণের মতো দেখায়, তাই কোকের (এলইএমকে ধরে না রেখে) থামিয়ে দেওয়া সমস্যার অনস্বীকার্যতা প্রমাণ করা সম্ভব?

সম্পাদনা: আমি এটি বৈপরীত্য ব্যবহার করে প্রমাণ করার বিষয়ে কিছু পয়েন্ট দেখতে চাই। আমি জানি যে এটিও তির্যক ব্যবহার করে প্রমাণিত হতে পারে।


2
@ কোডি একটি নেতিবাচক বিবৃতি কেন দ্বন্দ্বের প্রয়োজন? না আপনি কক সীমাবদ্ধ?
ডেভিড রিচার্বি

3
@ ডেভিডরিচার্বি আমি আসলে কিছুটা বাড়িয়ে দেখছি, যেহেতু অদ্ভুততার অভাবে এটিই সত্য। সেক্ষেত্রে একটি (কাট-মুক্ত) প্রুফের প্রথম (সর্বনিম্ন) পদক্ষেপটি স্বজ্ঞাত প্রাকৃতিক ছাড়ের ক্ষেত্রে নট-ইনট্রো হতে হবে। অক্ষর / হাইপোথিসিস রয়েছে এমন ক্ষেত্রে, তারপরে কখনই এই পদক্ষেপটি প্রথমে প্রয়োগ করতে ব্যথা হয় না, যেহেতু এটি অবিচ্ছিন্ন হয় তবে কখনও কখনও এটি এড়ানো যায়।
কোডি

2
আপনি কি একই শিরোনাম সহ কাগজ সম্পর্কে জানেন? (আমি মনে করি সেখানে আমি স্পষ্টভাবে বলেছি যে হ্যালটিং ওরাকলটির অস্তিত্বের স্বাভাবিক প্রমাণ গঠনমূলক is)
আন্দ্রেজ বাউর

1
@ আন্দ্রেজবাউর, আমি জানি না। সবেমাত্র এটি পেয়েছি। হ্যাঁ, আপনি বলেছেন যে "হ্যালটিং ওরাকলটির অস্তিত্বের স্বাভাবিক প্রমাণ তদন্তের গঠনমূলক প্রমাণের আর একটি উদাহরণ"।
রাফায়েল কাস্ত্রো

1
@ রাফায়েলকাস্ট্রো: একজন স্নাতক ছাত্র হিসাবে আপনি ভাল প্রশ্ন জিজ্ঞাসা করছেন। আমি কেবল আপনাকে সাহসী হয়ে সেখানে যাওয়ার জন্য উত্সাহ দিচ্ছি যেখানে কোনও স্নাতক ছাত্র (বা কমপক্ষে খুব বেশি নয়) আগে যায় নি।
আন্দ্রেজ বাউর

উত্তর:


20

আপনি ঠিক ঠিক বলেছেন যে থামানো সমস্যাটি দ্বিতীয় ধরণের "বিপরীতে প্রমাণের" উদাহরণ - এটি সত্যই কেবল একটি নেতিবাচক বিবৃতি।

ধরা যাক decides_halt(M)এমন একটি শিকারী যা বলছে যে মেশিনটি Mসিদ্ধান্ত নেয় যদি তার ইনপুটটি এমন একটি মেশিন থাকে যা থামে (যা Mকোনও প্রোগ্রাম যা কিছু মেশিন mএবং ইনপুট জন্য iসিদ্ধান্ত নেয় যে mইনপুটটিতে থামানো আছে কিনা i)।

কীভাবে এটি প্রমাণ করতে হয় তা সম্পর্কে এক মুহুর্তের জন্য ভুলে যাওয়া, থামার সমস্যাটি হ'ল বক্তব্যটি এমন কোনও মেশিন নেই যা থামানো সমস্যার সিদ্ধান্ত নেয় dec আমরা এটি কক হিসাবে এই হিসাবে বর্ণনা (exists M, decides_halt M) -> Falseকরতে পারি, বা সম্ভবত আমরা বলতে চাই যে কোনও প্রদত্ত মেশিন থামানো সমস্যার সমাধান করে না forall M, decides_halt M -> False। দেখা যাচ্ছে যে কোনও অলক্ষেত্র ছাড়াই এই দুটি আনুষ্ঠানিকতা কোকের সমতুল্য। (আমি প্রমাণটি বানান করেছি যাতে আপনি দেখতে পারেন যে এটি কীভাবে কাজ করে তবে firstorderপুরো কাজটিই করবে!)

Parameter machine:Type.
Parameter decides_halt : machine -> Prop.

(* Here are two ways to phrase the halting problem: *)

Definition halting_problem : Prop :=
  (exists M, decides_halt M) -> False.

Definition halting_problem' : Prop :=
  forall M, decides_halt M -> False.

Theorem statements_equivalent :
  halting_problem <-> halting_problem'.
Proof.
  unfold halting_problem, halting_problem'; split; intros.
  - exact (H (ex_intro decides_halt M H0)).
  - destruct H0.
    exact (H x H0).
Qed.

আমি মনে করি যে বিবৃতিটি তির্যক আর্গুমেন্ট হিসাবে প্রমাণ করা খুব কঠিন নয়, যদিও মেশিন, গণনাযোগ্যতা এবং থামানো সম্ভবত যুক্তিযুক্ত চ্যালেঞ্জিং। একটি সহজ উদাহরণের জন্য, ক্যান্টোর তির্যক তত্ত্বটি প্রমাণ করা খুব বেশি কঠিন নয় ( একটি প্রমাণের জন্য https://github.com/bmsherman/finite/blob/master/Iso.v#L277-L291 দেখুন nat -> natএবং natবিচ্ছিন্ন নয়)।

উপরের তির্যকটি একটি উদাহরণ দেয় যে আপনি কীভাবে nat -> natএবং এর মধ্যে আইসোমরফিজম থেকে বৈপরীত্য অর্জন করতে পারেন nat। স্বতঃস্ফূর্ত উদাহরণ হিসাবে অন্তর্ভুক্ত সেই প্রমাণের মূল কথাটি এখানে:

Record bijection A B :=
  {  to   : A -> B
  ; from : B -> A
  ; to_from : forall b, to (from b) = b
  ; from_to : forall a, from (to a) = a
  }.

Theorem cantor :
  bijection nat (nat -> nat) ->
  False.
Proof.
  destruct 1 as [seq index ? ?].
  (* define a function which differs from the nth sequence at the nth index *)
  pose (f := fun n => S (seq n n)).
  (* prove f differs from every sequence *)
  assert (forall n, f <> seq n). {
    unfold not; intros.
    assert (f n = seq n n) by congruence.
    subst f; cbn in H0.
    eapply n_Sn; eauto.
  }
  rewrite <- (to_from0 f) in H.
  apply (H (index f)).
  reflexivity.
Qed.

এমনকি বিশদটি না দেখেও আমরা বিবৃতি থেকে দেখতে পাচ্ছি যে এই প্রমাণটি কেবল একটি দ্বিপত্যের অস্তিত্ব নিয়েছে এবং এটি অসম্ভব বলে প্রমাণ করে। আমরা প্রথমে দ্বিপক্ষের দুটি পক্ষের নাম seqএবং দিয়েছি index। মূলটি হ'ল বিশেষ ক্রম f := fun n => S (seq n n)এবং এর সূচীতে বাইজেকশনটির আচরণ index fবিপরীত। থামানো সমস্যার প্রমাণটি একইভাবে একটি বৈপরীত্য তৈরি করবে, এমন একটি মেশিন সম্পর্কে তার অনুমানটি ইনস্ট্যান্ট করে যা সাবধানতার সাথে নির্বাচিত মেশিনের সাহায্যে (এবং বিশেষত এমন একটি যা আসলে ধরে নেওয়া মেশিনের উপর নির্ভর করে) with


সাইটে স্বাগতম! আমি আশা করি আপনি কাছাকাছি থাকবেন - স্ট্যাক এক্সচেঞ্জ কীভাবে কাজ করে সে সম্পর্কে আরও জানতে আপনি আমাদের খুব সংক্ষিপ্ত ভ্রমণ করতে পছন্দ করতে পারেন ।
ডেভিড রিচার্বি

2
আমি ভুলে গিয়েছিলাম যে এই সমস্যাটি একটি তির্যক যুক্তির দ্বারাও প্রমাণিত। আপনার উত্তরটি আকর্ষণীয় তবে কোক-এর বিরোধিতা ব্যবহার করে এইচএম প্রমাণ করা সম্ভব কিনা সে সম্পর্কে আমি কয়েকটি পয়েন্ট দেখতে চাই। আমি প্রশ্নে আরও স্পষ্ট করব।
রাফায়েল কাস্ত্রো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.