টাইপ থিওরিতে ক্যান্টরের উপপাদ্য


9

ক্যান্টরের উপপাদ্যটি বলে

যে কোনও সেট এ এর ​​জন্য, এ এর ​​সমস্ত উপসর্গের সেট এ এর ​​চেয়ে কঠোরতর কার্ডিনালিটি থাকে।

জেডএফসি সেটগুলি উল্লেখ না করে কেবল ধরণের / প্রস্তাবগুলি ব্যবহার করে এর মতো কোনও কিছুর এনকোড করা সম্ভব? নির্ভরশীলভাবে টাইপ করা ভাষায় এই প্রস্তাবটি এনকোড করার জন্য কোড বা সিউডোকোড প্রশংসা করা হবে।

উত্তর:


9

সংক্ষিপ্ত উত্তর: হ্যাঁ! প্রমাণটি পাওয়ার জন্য আপনার এত বেশি যন্ত্রপাতি দরকার নেই।

একটি সূক্ষ্মতা: এটির চেহারায় মনে হয় বাদ পড়া মাঝের ব্যবহার রয়েছে: একটি সেট তৈরি করে D এবং একটি সংখ্যা d, এবং তাও দেখায় dD অথবা dDযা দ্বন্দ্বের দিকে নিয়ে যায়। তবে অন্তর্দৃষ্টিবিদ যুক্তিতে সত্যই একটি লেমা রয়েছে , যা বলে:

 for all statements P,(P¬P)

স্বাভাবিক প্রমাণ সহ এটিই যথেষ্ট। নোট করুন যে সাধারণভাবে "সার্জেকশন" এর গঠনমূলক / স্বজ্ঞাত যুক্তি (পছন্দ ছাড়াই) তে কিছু সূক্ষ্ম উপকার থাকতে পারে তাই পরিবর্তে আপনাকে "ডান ইনভারটিয়েবল" দিয়ে উপযুক্ত পদক্ষেপ নিতে হবে।

কাকের একটি খুব মানক প্রমাণ (যা কোনও কারণে আমি অনলাইনে খুঁজে পাইনি) নিম্নলিখিত হিসাবে যেতে পারে:

Inductive right_invertible {A B:Type}(f : A->B):Prop :=
| inverse: forall g, (forall b:B, f (g b) = b) -> right_invertible f.


Lemma case_to_false :  forall P : Prop, (P <-> ~P) -> False.
Proof.
  intros P H; apply H.
    - apply <- H.
      intro p.
      apply H; exact p.
    - apply <- H; intro p; apply H; exact p.
Qed.


Theorem cantor :  forall f : nat -> (nat -> Prop), ~right_invertible f.
Proof.
  intros f inv.
  destruct inv.
  pose (diag := fun n => ~ (f n n)).
  apply case_to_false with (diag (g diag)).
  split.
  - intro I; unfold diag in I.
    rewrite H in I. auto.
  - intro nI.
    unfold diag. rewrite H. auto.
Qed.

অবশ্যই, "সঠিক" কাঠামোয় এই ম্যাটর্সগুলির সম্পর্কে চিন্তাভাবনা করা উচিত, যা এই প্রমাণের মধ্য দিয়ে যাওয়ার জন্য ন্যূনতম প্রয়োজনীয়তা হিসাবে দেখা যেতে পারে, লভেরের স্থির বিন্দু উপপাদ্য যা প্রতিবেদনে প্রতিটি কার্তেসিয়ান ক্লোজড বিভাগে উপপাদ্যকে ধারণ করে (তাই বিশেষত, কোনও যুক্তিসঙ্গত ধরণের তত্ত্বে)।

আন্দ্রেজ বাউয়ার সিনেমেটিক কম্পিউটেবিলিটির নির্দিষ্ট পয়েন্টের উপপাদ্যগুলিতে এই উপপাদ্যটি সম্পর্কে কাগজে সুন্দর করে লিখেছেন এবং আমি সন্দেহ করি যে এই উত্তরটিতে যুক্ত করার জন্য কিছু আকর্ষণীয় জিনিস থাকতে পারে।


যদি আমি সঠিকভাবে বুঝতে আপনার সংজ্ঞা cantor, nat"কোনো সেট একটি" এর ভূমিকা পালন করে এবং nat -> Prop"একজন সব সাব-সেট নির্বাচন সেট" এর ভূমিকা পালন করে। কি প্রতিস্থাপন প্রভাব হবে nat -> Propসঙ্গে nat -> bool? আমি অনুমান করি যে Propগঠনমূলক যুক্তিযুক্ত ক্ষেত্রে এটি ব্যবহার করা আরও উপযুক্ত, তবে শাস্ত্রীয় যুক্তি এবং সেট তত্ত্ব প্রায়শই বাদ পড়ে যাওয়া মাঝারিটি ধরে নিয়ে যায়, তাই আমাদের Propসাথে প্রতিস্থাপন করতে সক্ষম হওয়া উচিত boolএবং তবুও উপপাদ্য প্রমাণ করতে সক্ষম হওয়া উচিত, তাই না?
পাওলা ভেগা

1
হ্যাঁ, বুলের সাথে প্রপকে প্রতিস্থাপন করা নেতিবাচক মানচিত্র ব্যবহার করে সূক্ষ্ম কাজ করে। লভেরের স্থির বিন্দু উপপাদ্যটি দেখায় যে আপনি যে কোনও ধরণের A এর সাথে মানচিত্র এ -> এ কোনও নির্দিষ্ট বিন্দুবিহীন এগুলি করতে পারেন, সুতরাং 3 উপাদানযুক্ত একটি টাইপ বা সমস্ত প্রাকৃতিক সংখ্যার
ম্যাক্স নিউ

@PaulaVega ম্যাক্স প্রায় কাছাকাছি এটি সব বলছে, কিন্তু আমি উদাহরণ সঙ্গে প্রায় বাজানো সুপারিশ, যেমন ব্যবহার boolপরিবর্তে Propএবং natএবং diag := fun b => negb (f b b), বা শুধু প্রতিস্থাপন Propসঙ্গে natএবং ব্যবহার diag := fun n => (f b b) + 1
কোডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.