**منطق پویا** (به انگلیسی: Dynamic logic) نوعی گسترش منطق وجهی است. این منطق در اساس برای استنتاج دربارهٔ برنامه‌های رایانه‌ای ساخته شد ولی بعدها به رفتارهای کلی‌تر و پیچیده‌تر در زبان‌شناسی، فلسفه، هوش مصنوعی و دیگر پهنه‌ها اعمال گردید.

زبان
----

منطق وجهی با عمگرهای وجهی شناخته می‌شود: {\displaystyle \Box p} (جعبه {\displaystyle p}) ادعا می‌کند که {\displaystyle p} الزاماً صحیح است، و {\displaystyle \Diamond p} (لوزی {\displaystyle p}) ادعا می‌کند که {\displaystyle p} احتمالاً صحیح است. منطق پویا این دو را با ارتباط هر عمل(به انگلیسی: action) که نماد {\displaystyle {\displaystyle a\,\!}} دارد به عملگرهای وجهی {\displaystyle [a]} و {\displaystyle \langle a\rangle } گسترش داده‌است، در نتیجه منطق پویا یک منطق چند-وجهی است. معنی {\displaystyle [a]p} آن است که «بعد از انجام عمل {\displaystyle {\displaystyle a\,\!}} لازم است که {\displaystyle p} برقرار باشد»، یعنی {\displaystyle {\displaystyle a\,\!}} «باید سبب وقوع» {\displaystyle p} شود. معنی {\displaystyle \langle a\rangle p} آن است که «بعد انجام عمل {\displaystyle {\displaystyle a\,\!}}، ممکن است که {\displaystyle p} برقرار باشد» یعنی «{\displaystyle {\displaystyle a\,\!}} می‌تواند سبب وقوع {\displaystyle p} شود». این عملگرها توسط این رابطه باهم مرتبط اند: {\displaystyle {\displaystyle [a]p\equiv \neg \langle a\rangle \neg p\,\!}} و {\displaystyle \langle a\rangle p\equiv \neg [a]\neg p\,\!}. این رابطه مشابه رابطه بین سورهای عمومی ({\displaystyle {\displaystyle \forall \,\!}}) و سور وجودی ({\displaystyle \exists \,\!}) است.

منطق پویا این امکان را فراهم می‌کند که «عمل‌های ترکیبی» را از عمل‌های کوچکتر بسازیم. درحالیکه می‌توان از عملگرهای کنترلی اصلی هر زبان برنامه‌نویسی برای این هدف می‌توان استفاده کرد، عبارت باقاعده ی کلینی (Kleene) یک انطباق مناسب به منطق وجهی می‌باشند.

اگر عمل‌های {\displaystyle {\displaystyle a\,\!}} و {\displaystyle {\displaystyle b\,\!}} به ما داده شوند:

* عمل ترکیبی {\displaystyle {\displaystyle a\cup b\,\!}}، یا انتخاب، که توسط {\displaystyle a+b\,\!} یا {\displaystyle a|b\,\!} نیز نوشته می‌شوند، توسط اجرای یکی از {\displaystyle {\displaystyle a\,\!}} یا {\displaystyle {\displaystyle b\,\!}} اجرا می‌گردند.
* عمل ترکیبی {\displaystyle {\displaystyle a{\mathbin {;}}b\,\!}}، یا ترتیب، توسط اجرای اول {\displaystyle {\displaystyle a\,\!}} و سپس {\displaystyle {\displaystyle b\,\!}} اجرا می‌گردد.
* عمل ترکیبی {\displaystyle {\displaystyle a{\*}\,\!}}، یا تکرار، توسط اجرای {\displaystyle {\displaystyle a\,\!}} صفر یا بیشتر بار اجرا می‌گردد.
* عمل ثابت {\displaystyle {\displaystyle 0\,\!}} یا {\displaystyle BLOCK} هیچ کاری انجام نمی‌دهد و تمام هم نمی‌شود.
* عمل ثابت {\displaystyle 1\,\!} یا **SKIP** یا **NOP**، که توسط {\displaystyle {\displaystyle 0{\*}\,\!}} قابل تعریف است، کاری انجام نمی‌دهد، ولی خاتمه یافته‌است.

اصول موضوعی
-----------

این عملگرها در منطق پویا به این صورت اصل موضوعی‌بندی می‌گردند. اگر یک اصل‌بندی مناسب برای منطق وجهی به ما داده شده باشد، که شامل این اصول برای عملگرهای وجهی مثل اصل ذکر شده در بالا {\displaystyle [a]p\equiv \neg \langle a\rangle \neg p\,\!} و دو قاعدهٔ استنتاج وضع مقدم ({\displaystyle {\displaystyle \vdash p}} و {\displaystyle {\displaystyle \vdash p\to q}} دلالت دارد بر {\displaystyle {\displaystyle \vdash q\,}}) و ضرورت داشتن ({\displaystyle \vdash p} دلالت دارد بر {\displaystyle {\displaystyle \vdash [a]p\,}}) است، آنوقت:

A1. {\displaystyle [0]p\,\!}

A2. {\displaystyle [1]p\equiv p\,\!}

A3. {\displaystyle [a\cup b]p\equiv [a]p\land [b]p\,\!}

A4. {\displaystyle [a{\mathbin {;}}b]p\equiv [a][b]p\,\!}

A5. {\displaystyle [a\*]p\equiv p\land [a][a\*]p\,\!}

A6. {\displaystyle p\land [a\*](p\to [a]p)\to [a\*]p\,\!}

* اصل A1 این قول خالی را می‌دهد که موقعی که **BLOCK** تمام می‌شود، {\displaystyle p} برقرار است، حتی اگر {\displaystyle p} گزارهٔ **false** باشد. از این رو **BLOCK** وجود عمل «ابدیت قابل دست یافتن نیست» را انتزاعی می‌کند.
* اصل A2 می‌گوید که **NOP** به صورت تابع همانی روی گزاره‌ها عمل می‌کند، یعنی این عملگر {\displaystyle p} را به خودش تبدیل می‌کند.
* اصل A3 می‌گوید اگر انجام یکی از {\displaystyle {\displaystyle a\,\!}} یا {\displaystyle {\displaystyle b\,\!}} باید سبب وقوع {\displaystyle p} شود، آنوقت {\displaystyle {\displaystyle a\,\!}} باید سبب وقوع {\displaystyle p} شود و به صورت مشابه برای {\displaystyle {\displaystyle b\,\!}} و بالعکس.
* اصل A4 می‌گوید اگر انجام {\displaystyle {\displaystyle a\,\!}} و سپس انجام {\displaystyle {\displaystyle b\,\!}} باید سبب وقوع {\displaystyle p} شود، آنوقت {\displaystyle {\displaystyle a\,\!}} باید سبب وقوع وضعیتی شود که در آن {\displaystyle {\displaystyle b\,\!}} باید سبب وقوع {\displaystyle p} شود.
* A5 یک نتیجه آشکار از اعمال A2، A3 و A4 به معادله {\displaystyle {\displaystyle a{\*}=1\cup a{\mathbin {;}}a{\*}\,\!}} از جبر کلینی است.
* A6 ادعا می‌کند که اگر {\displaystyle p} هم‌اکنون برقرار باشد، و مهم نباشد که ما چند بار {\displaystyle {\displaystyle a\,\!}} را انجام داده‌ایم، آنوقت صحت {\displaystyle p} بعد از آن اجرا مستلزم صحت آن، بعد از یک اجرای اضافی {\displaystyle {\displaystyle a\,\!}} است، در این صورت {\displaystyle p} باید صحیح بماند بدون توجه به اینکه ما چند بار {\displaystyle {\displaystyle a\,\!}} را اجرا کرده‌ایم. A6 به عنوان استقرای ریاضی شناخته می‌شود، که در آن عمل **n := n+1** از افزایش **n،** توسط عمل اختیاری {\displaystyle {\displaystyle a\,\!}} تعمیم یافته‌است.

منابع
-----

1. 1 2 3 4 5 6  "Dynamic logic (modal logic)". *Wikipedia* (به انگلیسی). 2020-03-13.

|  |  |
| --- | --- |
| آیکون خرد | این یک مقالهٔ خرد منطق است. می‌توانید با گسترش آن به ویکی‌پدیا کمک کنید. |