לוגיקה ותורת הקבוצות - אוניברסיטת רייכמן

תרגול 6 - תחשיב הפסוקים: תחביר וסמנטיקה

Recitation 6 · Propositional Calculus — Syntax & Semantics

תוכן עניינים

  1. רקע מהיר: תחביר, wff, סמנטיקה, נביעה
  2. תרגיל 1: עצי גזירה
  3. תרגיל 2: \(\mathrm{rank}(\alpha)-1 \le\) מס׳ קשרים
  4. תרגיל 3: הצרנת טיעון ובדיקת נביעה ע"י טבלת אמת
  5. תרגיל 5: \(\alpha,\beta,\gamma\) ספיקות + \(\{\alpha\wedge\beta\}\models\gamma\) ⟹ \(\gamma\) ספיקה?
  6. תרגיל 6: פיצול/חיבור הנחות בנביעה
  7. תרגיל 7: נביעה דיסיונקטיבית ופיצול לפי \(\alpha/\neg\alpha\)
  8. סיכום ונקודות חשובות

רקע מהיר

תחביר (Syntax)

Well-Formed Formula (wff)
פסוק = חוקי אם יש לו עץ יצירה/גזירה. לעץ היצירה יש קריאה יחידה.
הגדרה אינדוקטיבית: \(T/F, p_i, (\neg\alpha), (\alpha\wedge\beta), (\alpha\vee\beta), (\alpha\to\beta)\).

סמנטיקה

הסמנטיקה היא החלק בלוגיקה שבו נקבעת המשמעות. מגדירה לכל פסוק את ערך האמת שלו ע"י ערכי האמת \(T/F\) לאטומים המרכיבים אותו וע"י טבלאות האמת של הקשרים.

השמה / סיפוק
\(v: \{p_0,p_1,\ldots\} \to \{T,F\}\) — נותן ערך לכל אטום. \(v\) מתרחבת לכל פסוק רקורסיבית.
\(v\) מספקת את \(\alpha\) אם \(v(\alpha)=T\).
ספיק: \(\exists v.\;v(\alpha)=T\). טאוטולוגיה: \(\forall v.\;v(\alpha)=T\). סתירה: \(\forall v.\;v(\alpha)=F\).
נביעה לוגית
המסקנה \(\beta\) נובעת לוגית מההנחות \(S\) אם בכל מצב שבו ההנחות ב-\(S\) אמיתיות גם המסקנה אמיתית.
פורמלית: \(S \models \beta\) אם כל \(v\) שמספקת את \(S\) מספקת גם את \(\beta\).
הדרך היחידה להפריך נביעה: דוגמה להשמה שמספקת את \(S\) ולא את \(\beta\).

תכונות יחס הנביעה

  1. רפלקסיביות: \(\alpha \in S \Rightarrow S \models \alpha\).
  2. מונוטוניות: \(S \models \alpha\) ו-\(S \subseteq S' \Rightarrow S' \models \alpha\).
  3. טרנזיטיביות: \(S \models \alpha\) ו-\(S \cup \{\alpha\} \models \beta \Rightarrow S \models \beta\).
משפט הדדוקציה (סמנטי)
\(S \models (\alpha \to \beta) \;\Longleftrightarrow\; S \cup \{\alpha\} \models \beta\).
בפרט: \(\{\alpha\} \models \beta \iff\) \(\alpha \to \beta\) טאוטולוגיה.

תרגיל 1: עצי גזירה

השאלה
כתבו את עץ היצירה של הנוסחאות הבאות:
  1. \((((\neg B) \vee C) \to A)\)
  2. \((D \wedge (((\neg(A \vee B)) \to C) \vee (\neg B)))\)

פתרון א

מסירים סוגריים חיצוניים: \(((\neg B) \vee C) \to A\). הקשר המרכזי = \(\to\) (כשמספר \(( = )\) מתאזן).

              →
             / \
            ∨   A
           / \
          ¬   C
          |
          B

פתרון ב

מסירים סוגריים חיצוניים: \(D \wedge (((\neg(A \vee B)) \to C) \vee (\neg B))\). הקשר המרכזי = \(\wedge\).

                ∧
              /   \
             D     ∨
                 /   \
                →     ¬
              /   \    |
             ¬     C   B
             |
             ∨
            / \
           A   B
טיפ לעבודה ידנית
סרוק את הביטוי משמאל לימין, סופר \(( -)\). כשהמונה מגיע ל-0 בפעם הראשונה לפני הסוף — הקשר שמופיע מיד אחרי הוא הקשר המרכזי.

תרגיל 2: \(\mathrm{rank}(\alpha)-1 \le\) מספר הקשרים

השאלה
נגדיר \(\mathrm{rank}: \text{WFF} \to \mathbb{N}\) כך:
  1. \(\mathrm{rank}(\alpha) = 1\) אם \(\alpha\) אטום.
  2. \(\mathrm{rank}(\neg\alpha) = \mathrm{rank}(\alpha) + 1\).
  3. \(\mathrm{rank}(\alpha_1 \diamond \alpha_2) = \max(\mathrm{rank}(\alpha_1), \mathrm{rank}(\alpha_2)) + 1\) עבור \(\diamond \in \{\wedge, \vee, \to\}\).
הראו כי בכל נוסחה \(\alpha\) מספר הקשרים גדול או שווה ל-\(\mathrm{rank}(\alpha) - 1\).
הוכחה. באינדוקציה מבנית. נסמן ב-a את מס' הקשרים ב-α.

בסיס: α אטום (T/F/pᵢ).
  rank(α) = 1, a = 0, ולכן rank(α) - 1 = 0 ≤ 0 = a. ✓

מקרה 1: α = ¬α₁ (הקשר הראשי ¬).
הנחת האינדוקציה: rank(α₁) - 1 ≤ a₁ (מס' הקשרים ב-α₁).
לכן:
  rank(α) - 1 = rank(¬α₁) - 1 = (rank(α₁) + 1) - 1
             = rank(α₁)
             ≤ a₁ + 1       (לפי הנחת האינדוקציה: rank(α₁) ≤ a₁ + 1)
             = a            (מס' קשרים ב-α = a₁ + 1, ה-¬ הוא קשר נוסף).
✓

מקרה 2: α = α₁ ◇ α₂  עם ◇ ∈ {∧, ∨, →}.
הנחת האינדוקציה: rank(α₁) - 1 ≤ a₁, rank(α₂) - 1 ≤ a₂.
לכן:
  rank(α) - 1 = max(rank(α₁), rank(α₂)) + 1 - 1
             = max(rank(α₁), rank(α₂))
             ≤ max(a₁ + 1, a₂ + 1)
             ≤ a₁ + a₂ + 1
             = a            (a = a₁ + a₂ + 1).
✓

∎
פרשנות
rank מודד את עומק העץ של הנוסחה. מספר הקשרים מודד את סך הצמתים הפנימיים. בעץ — עומק \(\le\) מספר צמתים פנימיים, מה שמתורגם למשפט המבוקש.

תרגיל 3: הצרנת טיעון ובדיקת נביעה ע"י טבלת אמת

השאלה
הצרינו את הטיעון הבא, בנו טבלת אמת, וקבעו אם המסקנה נובעת לוגית מההנחות:
"אם היום יום נעים אצא לטיול. היום יום לא נעים. לכן לא אצא לטיול."

שלב 1: מילון משתנים

שלב 2: הצרנה

השאלה: האם \(\{A \to B,\; \neg A\} \models \neg B\)?

שלב 3: טבלת אמת

\(v\)\(A\)\(B\)\(A \to B\) (הנחה 1)\(\neg A\) (הנחה 2)\(\neg B\) (מסקנה)ההנחות סופקו?
\(v_1\)TTTFFלא (¬A=F)
\(v_2\)TFFFTלא (A→B=F)
\(v_3\)FTTTFכן
\(v_4\)FFTTTכן

מסקנה

בשורה \(v_3\) ההנחות סופקו, אך המסקנה \(\neg B\) לא סופקה (כי \(B=T\)). זה משמש כ-דוגמה נגדית:

\[ \{A \to B,\; \neg A\} \not\models \neg B. \]
למה זה לא נכון? — טעות הפיכת התנאי
"אם נעים → אצא" + "לא נעים" — לא מבטיח "לא אצא". ייתכן שאצא גם אם לא נעים, מסיבה אחרת (חבר התקשר…). זוהי טעות לוגית קלאסית: denying the antecedent. לעומת זאת, \(\{A\to B, A\} \models B\) הוא תקין (modus ponens).

תרגיל 5: \(\alpha,\beta,\gamma\) ספיקות + \(\{\alpha\wedge\beta\}\models\gamma\) ⟹ \(\gamma\) ספיקה?

השאלה
הוכיחו או הפריכו: לכל שלושה פסוקים \(\alpha, \beta, \gamma\), אם \(\alpha, \beta, \gamma\) ספיקות וגם \(\{\alpha \wedge \beta\} \models \gamma\) אזי \(\gamma\) ספיקה.

הטענה נכונה — באופן ריקני, שכן ההנחה כוללת "γ ספיקה" כבר! אבל בואו נבחן את הניסוח בלי ההנחה הזו, ונראה למה היא הכרחית.

דוגמה ש"מראה" את הפלא של נביעה ריקנית

ניקח: \(\alpha = p,\; \beta = \neg p,\; \gamma = q \wedge \neg q\).

מסקנה
הניסוח שכולל "\(\gamma\) ספיקה" יוצא נכון טריוויאלית. ללא ההנחה הזו, הטענה לא נכונה — דוגמה נגדית עם הפסוקים מעלה.
לקח
זהירות עם נביעה מקבוצה לא-ספיקה! \(S\) שאינה ספיקה גוררת לוגית את כל הפסוקים שבעולם — לרבות סתירות. תמיד בדקו אם \(S\) ספיקה לפני שדנים במה נובע ממנה.

תרגיל 6: פיצול/חיבור הנחות בנביעה

השאלה
יהיו \(\alpha, \beta, \gamma\) פסוקים. הוכיחו או הפריכו:
  1. אם \(\{\alpha, \beta\} \models \gamma\) אזי \(\{\alpha\} \models \gamma\) או \(\{\beta\} \models \gamma\).
  2. אם \(\{\alpha\} \models \gamma\) או \(\{\beta\} \models \gamma\) אזי \(\{\alpha, \beta\} \models \gamma\).

סעיף א — הפרכה

ניקח \(\alpha = p,\; \beta = \neg p,\; \gamma = q\).

הטענה הופרכה.

סעיף ב — נכון, מונוטוניות

הוכחה. נניח ש-{α} ⊨ γ (המקרה השני {β} ⊨ γ סימטרי).
כיוון ש-{α} ⊆ {α, β}, לפי מונוטוניות יחס הנביעה:
   {α, β} ⊨ γ.
∎

הוכחה ישירה (בלי לצטט מונוטוניות):
תהא v המספקת את {α, β}, אז בפרט v מספקת את α.
מכיוון ש-{α} ⊨ γ ו-v מספקת את α, נובע v(γ)=T.
⟹ כל v המספקת את {α, β} מספקת את γ, כלומר {α, β} ⊨ γ.
אינטואיציה
הוספת הנחות יכולה רק להגביר את כוח ההסקה. אבל פיצול הנחות לא תמיד אפשרי — הקבוצה כולה עשויה להיות סתירה גם אם כל פסוק בנפרד ספיק.

תרגיל 7: נביעה דיסיונקטיבית ופיצול לפי \(\alpha/\neg\alpha\)

השאלה
יהיו \(\alpha, \beta, \delta\) פסוקים. הוכיחו או הפריכו:
  1. אם \(\{\alpha\} \models \beta \vee \delta\) אזי \(\{\alpha\} \models \beta\) או \(\{\alpha\} \models \delta\).
  2. עבור קבוצת פסוקים \(\{\gamma_1, \ldots, \gamma_n\}\) ופסוקים \(\alpha, \beta\):
    אם \(\{\gamma_1, \ldots, \gamma_n, \neg\alpha\} \models \beta\) וגם \(\{\gamma_1, \ldots, \gamma_n, \alpha\} \models \beta\) אזי \(\{\gamma_1, \ldots, \gamma_n\} \models \beta\).

סעיף א — הפרכה

ניקח \(\alpha = q,\; \beta = p,\; \delta = \neg p\).

הטענה הופרכה.

סעיף ב — נכון, פיצול למקרים

הוכחה. נסמן S = {γ₁, γ₂, ..., γₙ}.
נתון:  S ∪ {α} ⊨ β   ו-   S ∪ {¬α} ⊨ β.
צריך:   S ⊨ β.

תהא v השמה המספקת את S. נראה ש-v(β) = T.

נחלק למקרים:

• אם v(α) = T:
  v מספקת את S וגם את α, כלומר את S ∪ {α}.
  מכיוון ש-S ∪ {α} ⊨ β, נובע v(β) = T. ✓

• אם v(α) = F:
  אז v(¬α) = T. v מספקת את S וגם את ¬α, כלומר את S ∪ {¬α}.
  מכיוון ש-S ∪ {¬α} ⊨ β, נובע v(β) = T. ✓

בכל מקרה v(β) = T, ולכן  S ⊨ β.  ∎
דפוס חשוב — Proof by Cases
הטכניקה: לכל \(\alpha\) ולכל \(v\), בדיוק אחד מהמצבים \(v(\alpha)=T\) או \(v(\alpha)=F\) חל. אם בשני המצבים יש לנו את אותה מסקנה, היא נכונה תמיד. זוהי דרך עוצמתית להוכיח \(S \models \beta\) ע"י הוספת \(\alpha\) "מלאכותית" לקבוצת ההנחות.

סיכום ונקודות חשובות

כלי המפתח לבדיקת נביעה סמנטית

  1. בנו טבלת אמת על כל המשתנים שמופיעים בהנחות ובמסקנה.
  2. סמנו את השורות שבהן כל ההנחות סופקו (T).
  3. בכל אחת מהשורות הללו: אם המסקנה T בכולן ⟹ נביעה מתקיימת. אם יש שורה שבה המסקנה F ⟹ הפרכה.

טכניקות הוכחה

זכרו