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

CNF

সংযোজক প্রামাণ্য রূপ

Conjunctive Normal Form — AND of ORs। `(a ∨ ¬b) ∧ (¬a ∨ c)`। সব আধুনিক SAT solver শুধু এই রূপ নেয়।

also: conjunctive normal form, product of sums, POS

CNF = clause-দের AND, যেখানে প্রতিটা clause literal-দের OR।

(p ∨ ¬q) ∧ (¬p ∨ q ∨ r) ∧ (¬r)

Truth table থেকে বানানো: যেসব row-তে ফল F, প্রতিটার জন্য একটা clause — কিন্তু literal উল্টে (variable T হলে ¬x, F হলে x)।

কেন এটা গুরুত্বপূর্ণ: SAT solver-এর প্রামাণ্য input format (DIMACS) হলো CNF। আর SAT solver চলছে chip verification-এ, program analysis-এ, AI planning-এ, আর আপনার package manager-এর ভেতরে (apt, cargo, npm — dependency resolution আক্ষরিকভাবে SAT)।

সতর্কতা: যেকোনো expression CNF-এ আনা যায়, কিন্তু আকার exponentially বাড়তে পারে। তাই বাস্তব solver Tseytin transformation ব্যবহার করে — নতুন সহায়ক variable ঢুকিয়ে আকার linear রাখে, বিনিময়ে formula-টা আর logically equivalent থাকে না, শুধু equisatisfiable থাকে।

Hardware ডিজাইনে একই রূপকে বলা হয় POS (product of sums)।