6.7.3. הוכחת נכונות בעזרת SAT – Unbounded Model Checkingנרצה כעת להציג שיטת להוכחת נכונות
באמצעות SAT. נציג שוב דוגמא לבדיקת הכנה: נוסחה לתיאור מסלול ללא מעגלים:
נשתמש ב-2 נוסחאות לצורך בדיקת המודל:
אם הנוסחה ספיקה נסיק שיש שגיאה – קיים
מסלול שבו יש מצב המספק אם הנוסחה איננה ספיקה – כל מסלול באורך
המצב המעניין עבור האלגוריתם להוכחת נכונות באמצעות SAT:
הרעיון מאחור האלגוריתם הוא הצעדים הבאים:
כאשר הוכחנו את אלה, ניתן להזיז את נקודת המבט ונקבל כי:
אין תגובות!
|
תוכן העניינים:
קישורים רלוונטיים:שיתוף: |


כדי להציג את הנושא. לשיטה המוצגת אופי של הוכחה אינדוקטיבית: בסיס וצעד, שלאחריהם
נשלים את האלגוריתם.![plot:\[LoopFree\left(
{{{\bar v}_0},...,{{\bar v}_k}} \right) = \left( {\mathop \wedge \limits_{i = 0}^{k - 1} R\left( {{{\bar
v}_i},{{\bar v}_{i + 1}}} \right)} \right) \wedge \,\,\,\left( {\,\mathop \wedge \limits_{0 \leqslant i < j
\leqslant k} \left( {{{\bar v}_i} \ne {{\bar v}_j}} \right)} \right)\]](/documentResources/326/plot_231.png)

.
ממצב התחלתי מכיל רק מצבים המספקים את 
![plot:\[\varphi
_{step}^k\left( {{{\bar v}_0},...,{{\bar v}_k},{{\bar v}_{k + 1}}} \right) =
\left( {\mathop \wedge \limits_{j = 0}^k
R\left( {{{\bar v}_j},{{\bar v}_{j + 1}}} \right) \wedge p\left( {{{\bar v}_j}}
\right)} \right) \wedge \neg p\left( {{{\bar v}_{k + 1}}} \right) \wedge
\,\,\,\left( {\,\mathop \wedge
\limits_{j = 0}^{k - 1} \left( {{{\bar v}_j} \ne {{\bar v}_k}} \right)}
\right)\]](/documentResources/326/plot_232.png)
הוא המצב בו
איננה ספיקה. כאשר
איננה ספיקה אז לכל מסלול (לא בהכרח ממצב התחלתי) באורך
, אם כל מצביו
מספקים את
, אז המצב האחרון
מספק
גם הוא את
.
. אם
ספיקה נחזיר את ההשמה המספקת כדוגמא נגדית (
).
לא ספיקה, נעצור ונחזיר true, כלומר
.
ונחזור לשלב 1.

ושל 



