Foundationপ্রথম নীতি থেকে
LEVEL 0 · Mathematical Foundations

Set

সেট

স্বতন্ত্র বস্তুর একটা অসজ্জিত সংগ্রহ। ক্রমের অর্থ নেই, পুনরাবৃত্তি নেই — আর সেই স্বাধীনতাই hash-ভিত্তিক O(1) lookup সম্ভব করে।

{1, 2, 3} = {3, 1, 2} = {1, 1, 2, 3, 3}

তিনটাই একই set।

Set operation আর logical connective একই জিনিস:

SetLogicকোডে
A ∪ Ba | b, UNION
A ∩ Ba & b, INTERSECT
A \ B∧ ¬a - b, EXCEPT
A △ Ba ^ b

তাই [[de-morgans-law]], distribution, absorption — সব নিয়ম হুবহু খাটে, শুধু চিহ্ন বদলে।

আর এক নয়: {1,2} ⊆ {1,2,3} সত্য কিন্তু {1,2} ∈ {1,2,3} মিথ্যা।

কেন set-এর সদস্য hashable হতে হয়: O(1) membership-এর জন্য hash table লাগে, আর hash অপরিবর্তনীয় হতে হবে — নাহলে object ভুল bucket-এ পড়ে থাকবে আর কখনো খুঁজে পাওয়া যাবে না।

Database-এর “relational” শব্দটা এখান থেকেই — একটা table হলো tuple-এর একটা set, আর query হলো set operation।