সফ্টওয়্যার ফাউন্ডেশনগুলিতে আমি নিম্নলিখিত অনুশীলনে আছি :
(** **** Exercise: 2 stars (baz_num_elts) *)
(** Consider the following inductive definition: *)
Inductive baz : Type :=
| x : baz -> baz
| y : baz -> bool -> baz.
(** How _many_ elements does the type [baz] have?
(* FILL IN HERE *)
[] *)
ইন্টারনেটে আমি যে সমস্ত উত্তর দেখেছি সেগুলির সমস্ত উত্তর বলে যে 2 টি উত্তর, এবং উপাদানগুলি x এবং y। যদি এটি হয় তবে এটি উপাদান দ্বারা কী বোঝানো হচ্ছে তা আমার কাছে পরিষ্কার নয় । সেখানে অবশ্যই দুই কনস্ট্রাকটর, কিন্তু এটি আসলে ধরনের একটি মান তৈরি করতে অসম্ভব বায ।
এটা তোলে ধরনের একটি মান তৈরি করতে অসম্ভব baz
কারণ x
টাইপ হয়েছে baz -> baz
। y
টাইপ আছে baz -> bool -> baz
। অর্ডার ধরনের একটি মান পাওয়ার জন্য baz
আমরা ধরনের একটি মান পাস করতে হবে baz
উভয় x
বা y
। baz
ইতিমধ্যে প্রকারের মান না থাকলে আমরা কোনও ধরণের মান পেতে পারি না baz
।
এখনও অবধি আমি মূল্যবোধ বোঝাতে উপাদানগুলির ব্যাখ্যা করছি । সুতরাং এবং উভয়ই টাইপের উপাদান হতে পারে এবং ধরণের উপাদানগুলির সীমাহীন সংখ্যার উপস্থিতি থাকবে । টাইপের দুটি উপাদান থাকবে , যা এবং । এই ব্যাখ্যার অধীনে, আমি যুক্তি দেব যে টাইপের শূন্য উপাদান রয়েছে ।(cons nat 1 nil)
(cons nat 1 (cons nat 2 nil))
list nat
list nat
bool
true
false
baz
আমি কি সঠিক, বা আমি কী ভুল বুঝছি তা কেউ ব্যাখ্যা করতে পারেন?
baz
।
baz
।