Hoare Logic
হোয়ার লজিক
প্রোগ্রামের correctness প্রমাণ করার আনুষ্ঠানিক সিস্টেম — {P} C {Q} triple দিয়ে বলা হয় precondition P সত্য থাকলে ও C চললে, postcondition Q সত্য হবে।
also: Hoare Triple, Floyd-Hoare Logic
{P} C {Q} — P precondition, C প্রোগ্রাম/স্টেটমেন্ট, Q
postcondition। পাঁচটা মূল inference rule: assignment ({Q[E/x]} x:=E {Q} — পেছন থেকে সামনে), sequence, if, while (loop invariant
দিয়ে), আর rule of consequence (precondition শক্তিশালী/postcondition
দুর্বল করা)।
Partial correctness বলে “যদি থামে, তাহলে Q সত্য”; total
correctness-এ termination-ও (variant function দিয়ে) প্রমাণ করতে
হয়। Loop invariant-ভিত্তিক প্রমাণ আসলে mathematics/induction-এরই
একটা প্রয়োগ — invariant maintenance step inductive step-এর সমতুল্য।
আধুনিক static verifier (Dafny, Frama-C) আর security module-এর
memory-safety যাচাই টুলগুলোর ভিত্তি এই একই triple-notation।