উত্তর:
মার্কের উত্তরটি প্রদর্শনের t
জন্য, আপনার বয়ানের নিম্নলিখিত প্রমাণটি বিবেচনা করুন , কক-এ লেখা। প্রুফে আমরা ধরে নিই যে k
টাইপের একটি প্যারামিটার nat
দেওয়া হয়েছে। আমরা ক্ষেত্রে এর k
মান হিসাবে ব্যবহার করি :y
x = 0
Parameter k : nat.
Theorem t : forall x : nat, { y : nat | x <> 0 -> x = S y}.
Proof.
induction x.
exists k; tauto.
induction x.
exists 0; auto.
destruct IHx as [z G].
exists (S z).
intro H.
elim G; auto.
Defined.
আমরা এটির t 0
সমান প্রমাণ করতে পারি k
:
Theorem A: projT1 (t 0) = k.
Proof.
auto.
Qed.
protT1
নেই কারণ t 0
শুধু একটি প্রাকৃতিক সংখ্যা, কিন্তু আসলে একটি প্রাকৃতিক সংখ্যা নয় সঙ্গে করে একটি প্রমাণ 0 <> 0 -> 0 = S y
এবং projT1
দূরে প্রমাণ ছোঁড়ার।
নিষ্ক্রিয় Ocaml কোড t
, এর সাথে প্রাপ্ত কমান্ডটি Extraction k
হয়
(** val t : nat -> nat **)
let rec t = function
| O -> k
| S n0 -> (match n0 with
| O -> O
| S n1 -> S (t n0))
আবার আমরা দেখতে পাচ্ছি t 0
এর সমান k
, যা ছিল aribtrarily ধরে নেওয়া পরামিতি।