תחשיב הפסוקים

בלוגיקה ובלוגיקה מתמטית, תחשיב פסוקים (באנגלית: Propositional calculus‏, Propositional logic או Sentential calculus) הוא מערכת מובנית (פורמליסטית), המאפשרת לייצג את הקַשַּרים הלוגיים בין ערכי האמת של פסוקים לוגיים שונים, ולהסיק את תקפותן ההגיונית (לוגית) של טענות. בדוגמה להלן כל שורה היא נוסחה "בנויה כהלכה", והמסקנה לפי כללי תחשיב הפסוקים היא חד משמעית: א. אם החֶרֶק הוא נמלה, אזי הוא חי בתל נמלים. ב. החֶרֶק הנבדק הוא נמלה. מסקנה חד משמעית: החֶרֶק הנבדק חי בתל נמלים. תחשיב הפסוקים אינו מתחשב בתוכן הפסוקים אלא אך ורק בתוקף הפסוק (ערך האמת שבו, היותו תקף או כוזב) וּתְּקֵיפוּת חלקיו. תחשיב הפסוקים אינו עוסק, לפיכך, בשאלה כיצד נקבעת אמיתות הפסוקים האטומיים, אלא בשאלה כיצד נקבע ערך האמת של פסוקים מורכבים יותר, המורכבים ממספר פסוקים אטומיים באמצעות קַשַּרים לוגיים. ערך האמת של הפסוקים האטומיים יכול להיקבע על ידי המשמעות (הפירוש הסמנטי) שאנו נותנים לאותיות הפסוקיות. לדוגמה, אם נרשום: אם א' – אזי ב'. – נוכל לתת לאות א' את הערך "אמת", ואזי ינבע מהפסוק שגם ב' מקבל את הערך "אמת". – נוכל לתת לאות א' את הערך "שקר", ובמקרה זה פסוק ב' יוכל לקבל את הערך "שקר" או את הערך "אמת". במקרה הראשון, נוכל להחליף את המשתנה בערך בעל משמעות, אשר יהיה תקף בתנאֵי הבדיקה. לדוגמה, למשתנה א' ניתן את הערך "עכשיו צהריים" ותנאי הבדיקה יהיו שאכן מדובר בבדיקה הנעשית בשעת הצהריים. למשתנה ב' נבחר משמעות המקיימת את המשפט באופן שהפסוק כולו תקף, לדוגמה: "השמש מופיעה בשיא הגובה". יודגש שתהליך תחשיב הפסוקים אינו עוסק בנכונות הטענות, אלא רק במסקנה המתקבלת אם נכונים כל חלקיה. אולם ניתן גם לדון בטענות כנוסחאות עם משתנים, בלי לפרט דוגמאות למשמעותם של המשתנים. ניתן לבחון כך את כלל היחסים האפשריים בין הטענות המורכבות, עבור כל הצבה של ערכי אמת לאותיות הפסוקיות המשמשים כ"משתנים". במקרה של הדוגמה שלנו: – נוכל להשאיר את א' כ"משתנה", ובהתאם לכל ערך שהוא יקבל – בין אם הערך "אמת" ובין אם "שקר", נוכל לדעת על הערך ב'. באמצעות הכללה כזו ניתן לקבוע כי טיעונים הם תקפים, כאשר עבור כל הצבה של ערכי אמת לפסוקים האטומיים המרכיבים את ההנחות, אם בעקבות הצבה כזו ההנחות של הטיעון תְקֵיפות, הרי שגם המסקנה תְקֵיפה. דוגמה לבדיקת תקפות טיעונים על פי הכללה: הנחה א: א' כלשהו קיים בתוך ר' הנחה ב: אם ב' קיים בתוך ר' אזי אפשר לערוך את ב'. טענה ט: אפשר לערוך את א'. במקרה זה, באמצעות תחשיב הפסוקים, ניתן להסיק באופן חד משמעי וכוללני שטענה ט' תהיה תקיפה לגבי כל קבוצת משתנים (א' ב' ו-ר') שלגביהם הנחה א' והנחה ב' תקפים. הצרנה (מלשון צורה) או תיבנות של תחשיב פסוקים, היא תהליך העברת ההנחות והטענות הלוגיות לכיתוב תבניתי, במבנה מוסכם (פורמליסטי), דמוי סימני החשבון. הסמנטיקה (מבנה המשמעות) של תחשיב הפסוקים מורה לנו כיצד עלינו להבין את היחס בין הסמלים המייצגים פסוקים שונים, ובין הטענות שהם מייצגים. כאשר מעוניינים לנתח טיעון או הוכחה כלשהי באמצעות תחשיב הפסוקים, ראשית יש לערוך הצרנה להנחות ולטענות. בתהליך זה מסמנים כל משפט בסיסי (למשל "השמש תזרח מחר" או "יוסי גר בלונדון") בסימן קבוע (בדרך כלל אות אנגלית גדולה כמו P {\displaystyle P} או Q {\displaystyle Q} , או הסימן P i {\displaystyle P_{i}} עם האינדקס i {\displaystyle i} , המייצג מספר מסוים). סימן זה מייצג את הטענה בכל מקום שתופיע בטיעון, והוא מכונה "פסוק יסודי", או "פסוק אטומי". גם הקָשַרים הלוגיים אינם נכתבים בתחשיב הפסוקים במילים אלא באמצעות סימונים מוסכמים, כפי שיוסבר להלן: תחשיב פסוקים מסוים כולל קבוצה של פסוקים יסודיים או "פסוקים אטומיים", ומספר קָשַרים לוגיים סטנדרטיים. לדוגמה, נגדיר כי P {\displaystyle P} מייצג את הטענה "הגביע הוא שלנו", וכי Q {\displaystyle Q} מייצג את הטענה "אנחנו במפה". או אז ניתן להדגים את התחביר של חמשת הקשרים הלוגיים כך: שלילה: ¬ {\displaystyle \neg } – זהו קשר אונארי, דהיינו הוא מקושר לאות פסוקית אחת בלבד. לדוגמה, ¬ P {\displaystyle \neg P} מייצג את "הגביע הוא לא שלנו". הֶלְחֵם או קוֹנְיוּנְקְצִיָּה ("וגם"): ∧ {\displaystyle \land } או & – קשר בינארי, מקשר בין שני פסוקים. לדוגמה, הפסוק המורכב P ∧ Q {\displaystyle P\land Q} מייצג את הטענה "הגביע הוא שלנו ואנחנו על המפה". ניתוק או דִיסְיוּנְקְצִיָּה ("או"): ∨ {\displaystyle \lor } – קשר בינארי, מקשר בין שני פסוקים. לדוגמה, הפסוק המורכב P ∨ Q {\displaystyle P\lor Q} מייצג את הטענה "הגביע הוא שלנו או אנחנו על המפה". תנאי ("אם-אז"): → {\displaystyle \to } – קשר בינארי, מקשר בין שני פסוקים. לדוגמה, הפסוק המורכב P → Q {\displaystyle P\to Q} מייצג את הטענה "אם הגביע הוא שלנו אזי אנחנו על המפה". תנאי כפול ("אם ורק אם", נקרא גם: "אך ורק אם"): ↔ {\displaystyle \leftrightarrow } – קשר בינארי, מקשר בין שני פסוקים. לדוגמה, הפסוק המורכב P ↔ Q {\displaystyle P\leftrightarrow Q} מייצג את הטענה "הגביע הוא שלנו אם ורק אם אנחנו במפה". באמצעות הֶקשֵרים, התחביר מאפשר יצירת רצפים סופיים של פסוקים יסודיים, קָשַרים וסימני סוגריים, אשר קריאתם היא חד-משמעית. רצף כזה נקרא נוסחה בנויה היטב (נקראת גם נוסחה בנויה כהלכה ובראשי תיבות נב"כ, (Well Formed Formula או WFF). נוסחה בנויה היטב מוגדרת בצורה הרקורסיבית הבאה: אם P {\displaystyle P} הוא פסוק אטומי, אז P {\displaystyle P} הוא נוסחה בנויה היטב. אם P {\displaystyle P} היא נוסחה בנויה היטב, אז גם ( ¬ P ) {\displaystyle (\neg P)} היא נוסחה בנויה היטב. אם P , Q {\displaystyle P,Q} נוסחאות בנויות היטב, אז לכל קשר Ω {\displaystyle \Omega } כאשר Ω ∈ { ∧ , ∨ , → , ↔ } {\displaystyle \Omega \in \{\land ,\lor ,\to ,\leftrightarrow \}} , הרי ( P Ω Q ) {\displaystyle (P\,\Omega \,Q)} היא נוסחה בנויה היטב (כלומר עבור כל שתי נוסחאות בנויות היטב, הצבתו של אחד מן הקשרים הבינריים ביניהן יוצרת נוסחה בנויה היטב). כל דבר אחר איננו נוסחה בנויה היטב. רצפים חסרי מובן כמו ( → P ¬ Q ) {\displaystyle (\to P\neg Q)} אינם פסוקים, ואינם עונים על ההגדרה הרקורסיבית. בניסוח הפורמלי של תחשיב הפסוקים, קיים אלגוריתם מסודר וסופי המזהה אם רצף סימנים מסוים הוא פסוק או לא. הסוגריים חיוניים בדרך כלל, אם כי ניתן ומקובל להשמיט את זוג הסוגריים החיצוניים ביותר. אפשר לבנות סוגים שונים של תחשיבי פסוקים, באמצעות בחירה שונה של הקשרים המשתתפים. לדוגמה, אפשר להחליף את הקשר "אם P {\displaystyle P} אז Q {\displaystyle Q} " בביטוי " Q {\displaystyle Q} או (לא P {\displaystyle P} )", וכך להגדיר את הקשר "אם-אז" באמצעות הקשרים "או" ו"לא". כללי דה מורגן מאפשרים לוותר על אחד משני הקשרים "או" או "וגם". תחשיב פסוקים שלם (או קבוצת קשרים שלמה) הוא קבוצת קשרים, שכפסוק אפשר להציג באמצעותה כל פעולה בוליאנית, או כל טבלת אמת (ראו להלן). ישנם שני קשרים, שכל אחד מהם מהווה בעצמו "תחשיב פסוקים שלם", והם מכונים "הקשרים של שפר". קשרים אלו הם הקשרים "לא-וגם" (NAND) ו"לא-או" (NOR). התחביר הפורמלי של תחשיב הפסוקים המתמטי מתבסס על שני קשרים בלבד, "אם-אז" ו"לא" – כל שאר הקשרים מוגדרים כקיצורים של ביטויים הבנויים מקשרים בסיסיים אלו. הוגה הדעות והלוגיקאי פרופסור יאן לוּקאסייביץ' מאוניברסיטת לבוב, גילה מערכת אקסיומטית (מערכת הנחות יסוד) פשוטה בעלת שני קשרים בלבד: קשר גרירה וקשר שלילה, המהווה תחשיב פסוקים שלם: שלוש הנחות יסוד – אקסיומות מן הצורה הבאה: P → ( Q → P ) {\displaystyle P\to (Q\to P)} ( P → ( Q → R ) ) → ( ( P → Q ) → ( P → R ) ) {\displaystyle {\bigl (}P\to (Q\to R){\bigr )}\to {\bigl (}(P\to Q)\to (P\to R){\bigr )}} ( ¬ P → ¬ Q ) → ( Q → P ) {\displaystyle (\neg P\to \neg Q)\to (Q\to P)} כלל היסק אחד, מודוס פוננס (קיומו של תנאי ונביעת טענה מקיומו של התנאי), המוגדר כך: מ- P {\displaystyle P} ומ- ( P → Q ) {\displaystyle (P\to Q)} הסק: Q {\displaystyle Q} במערכת זו הקשרים הקלאסיים האחרים, מלבד תנאי ושלילה, מוגדרים כך: a ∨ b {\displaystyle a\lor b} מוגדר כ- ¬ a → b {\displaystyle \neg a\to b} (ובדומה, ¬ a ∨ ¬ b {\displaystyle \neg a\lor \neg b} מוגדר כ- a → ¬ b {\displaystyle a\to \neg b} ) a ∧ b {\displaystyle a\land b} מוגדר כ- ¬ ( a → ¬ b ) {\displaystyle \neg (a\to \neg b)} a ↔ b {\displaystyle a\leftrightarrow b} מוגדר כ ¬ ( ( a → b ) → ¬ ( b → a ) ) {\displaystyle \neg {\bigl (}(a\to b)\to \neg (b\to a){\bigr )}} דוגמה להוכחה. ניתן להוכיח מהמערכת הזו בקלות כי a → a {\displaystyle a\to a} , כך: (1) ( a → ( ( a → a ) → a ) ) → ( ( a → ( a → a ) ) → ( a → a ) ) {\displaystyle {\bigl (}a\to ((a\to a)\to a){\bigr )}\to {\bigl (}(a\to (a\to a))\to (a\to a){\bigr )}} אקסיומה 2 בו הצבנו P = a , Q = ( a → a ) , R = a {\displaystyle P=a,Q=(a\to a),R=a} (2) a → ( ( a → a ) → a ) {\displaystyle a\to {\bigl (}(a\to a)\to a{\bigr )}} אקסיומה 1 בו הצבנו P = a , Q = ( a → a ) {\displaystyle P=a,Q=(a\to a)} (3) ( a → ( a → a ) ) → ( a → a ) {\displaystyle {\bigl (}a\to (a\to a){\bigr )}\to (a\to a)} מודוס פוננס על שורות 1 ו-2. (4) a → ( a → a ) {\displaystyle a\to (a\to a)} אקסיומה 1 בו הצבנו P = a , Q = a {\displaystyle P=a,Q=a} (5) a → a {\displaystyle a\to a} מודוס פוננס על שורות 3 ו-4: מש"ל. ערך מורחב – טבלת אמת במסגרת הסמנטיקה (ניתוח המשמעות) המקובלת של תחשיב הפסוקים, כל פסוק יסודי יכול לקבל אחד משני ערכי אמת: "אמת" או "שקר", ובלבד שהוא מקבל את אותו ערך בכל הופעה שלו באותו טיעון. כל קשר לוגי מובן כפונקציית-אמת, אשר עבור כל צירוף של ערכי אמת, מחזיר הקשר ערך אמת אחד ויחיד. לדוגמה, השלילה מחזירה פסוק שקרי עבור כל פסוק אמיתי אליו היא מקושרת, ומחזירה פסוק אמיתי עבור כל פסוק שקרי אליו היא מקושרת. נוח לייצג פונקציות אמת באמצעות טבלת אמת, בהן T ו-F מייצגים את הערכים אמת ושקר (באלגברה בוליאנית יוחלפו אלו בערכים 1 עבור אמת ו-0 עבור שקר). בטורים הימניים של הטבלה אנו ממצים את כלל הצירופים האפשריים של ערכי האמת הניתנים לפסוקים היסודיים, ובטורים השמאליים אנו מציגים את ערך האמת המתקבל עבור הפסוק המורכב: כל שיוך של ערכי אמת לפסוקים יסודיים נקרא פירוש ("אינטרפרטציה") או הצבה. בטבלאות האמת, כל שורה היא פירוש. פסוק מורכב המקבל את הערך "אמת" בכל פירוש של הפסוקים היסודיים (כלומר כזה שבטבלת האמת שלו הוא מקבל T בכל השורות), נקרא טאוטולוגיה (אמת לאמיתה). משמעות הדבר היא שפסוק זה הוא אמיתי בזכות הקשרים הלוגיים שבין רכיביו, ללא תלות באמיתותם של הפסוקים האטומיים עצמם. פסוק המקבל את הערך "שקר" בכל פירוש נקרא סתירה. פסוק הוא קונטינגנטי (תלוי, בעל תלות) אם ורק אם אינו סתירה ואינו טאוטולוגיה. קבוצה של פסוקים נקראת עקבית (קונסיסטנטית) אם קיים פירוש עבורו כל הפסוקים בקבוצה מקבלים ערך "אמת". טבלאות אמת הן כלי נוח לשם בדיקת תקפותם של טיעונים (היסקים) בתחשיב הפסוקים. הטכניקה של טבלאות אמת מאפשרת לבטא את ערכי האמת של כל פסוק מורכב במונחי ערכי האמת של הפסוקים המרכיבים אותו, וכאשר הטבלה מלאה, ניתן לבדוק אם ישנם מצבים בהם הנחות הטיעון אמיתיות אבל המסקנה שקרית. אם יש שורה כזו בטבלה, הרי שהטיעון אינו תקף, שהרי זו מהווה דוגמה נגדית. אולם אם אין שורה כזו, הראנו שהטיעון תקף. לדוגמה, לבדיקת תקפות הטיעון: השמש זורחת, וגם אם האגם קפוא הברווזים עפים אם השמש זורחת האגם אינו קפוא מסקנה: הברווזים לא עפים יוצרנו הפסוקים האטומים על פי הלקסיקון (מילון תמציתי) הבא: P {\displaystyle P} : השמש זורחת Q {\displaystyle Q} : האגם קפוא R {\displaystyle R} : הברווזים עפים הטיעון המוצרן נכתב כך: P ∧ ( Q → R ) {\displaystyle P\land (Q\to R)} P → ¬ Q {\displaystyle P\to \neg Q} מסקנה: ¬ R {\displaystyle \neg R} וטבלת האמת שלו היא: על פי ההצבה של שורה 3 בטבלה, ברור ששתי ההנחות אמיתיות אבל המסקנה שקרית. זו מהווה דוגמה נגדית, ועל כן הטיעון אינו תקף. לתחשיב הפסוקים אפשר "לבנות" מערכות הוכחה המוכיחות טענות נוספות הנובעות מקבוצת טענות ראשונית. מערכות היסק כאלה בנויות מכללים תחביריים (סינטקטיים) טכניים בלבד. מערכת ההוכחות הפשוטה ביותר לתחשיב פסוקים היא מערכת דדוקציה טבעית, המכילה עשרה כללי היסק. עבור כל אחד מחמשת הקשרים היא מכילה כלל הבאה (נקרא גם כלל הכנסה או אינטרודוקציה) וכלל סילוק (נקרא גם כלל הוצאה או אלימינציה). מערכת זו היא נאותה – כלומר, כל נוסחה שניתנת להוכחה, היא אמיתית, ושלמה – כלומר, כל נוסחה אמיתית גם ניתנת להוכחה מקבוצה זו במערכת. דוגמה לכלל הבאה (כלל הכנסה – אינטרודוקציה) להקשר של פסוק התנאי: ( 1 ) P ( 2 ) Q ∴ P → Q {\displaystyle {\begin{array}{rl}(1)&P\\(2)&Q\\\hline \therefore &P\to Q\end{array}}} דוגמה לכלל סילוק (כלל הוצאה – אלימינציה) להקשר של פסוק ההלחם (הקוניונקציה): ( 1 ) P ∧ Q ∴ P {\displaystyle {\begin{array}{rl}(1)&P\land Q\\\hline \therefore &P\end{array}}} מערכת הוכחה נפוצה בתחשיב הפסוקים היא מערכת הילברט, אשר פותחה על ידי המתמטיקאים דויד הילברט וגוטלוב פרגה. מערכת ההוכחה היא נאותה ושלמה, ומכילה שלוש אקסיומות וכלל היסק אחד. האלפבית של המערכת הוא: { p i | i ∈ N } {\displaystyle \{p_{i}|i\in \mathbb {N} \}} והפעולות הן { ( , ) , ¬ , → } {\displaystyle \{(,),\neg ,\rightarrow \}} . האקסיומות הן: ( A 1 ) : ( α → ( β → α ) ) {\displaystyle {\bigl (}A1{\bigr )}:{\Bigl (}\alpha \rightarrow {\bigl (}\beta \rightarrow \alpha {\bigr )}{\Bigr )}} ( A 2 ) : ( α → ( β → γ ) ) → ( ( α → β ) → ( α → γ ) ) {\displaystyle {\bigl (}A2{\bigr )}:{\Bigl (}\alpha \rightarrow {\bigl (}\beta \rightarrow \gamma {\bigr )}{\Bigr )}\rightarrow {\Bigl (}{\bigl (}\alpha \rightarrow \beta {\bigr )}\rightarrow {\bigl (}\alpha \rightarrow \gamma {\bigr )}{\Bigr )}} ( A 3 ) : ( ( ¬ α → ¬ β ) → ( β → α ) ) {\displaystyle {\bigl (}A3{\bigr )}:{\Bigl (}{\bigl (}\neg \alpha \rightarrow \neg \beta {\bigr )}\rightarrow {\bigl (}\beta \rightarrow \alpha {\bigr )}{\Bigr )}} וכלל ההיסק הוא מודוס פוננס: ( M P ) : α → β α β {\displaystyle (MP):{\alpha \rightarrow \beta \quad \alpha \over \beta }} הנוסחאות במערכת הן W F F {   ¬ , → } {\displaystyle WFF_{\{\ \neg ,\rightarrow \}}} (אנ') ביחס למערכת השלמה לעיל, וקבוצת המשפטים היא X { a x i o m s , M P } {\displaystyle X_{\{axioms,MP\}}} . תחשיב הפרדיקטים שפה מסדר ראשון מערכת דדוקציה טבעית מערכת הילברט לתחשיב הפסוקים פורמליזם (מתמטיקה) טבלת אמת אלגברה בוליאנית לוגיקה בוליאנית מדיה וקבצים בנושא תחשיב הפסוקים בוויקישיתוף תחשיב הפסוקים, באתר MathWorld (באנגלית) הביטוי העברי 'תנאי כפול' הוא מונח תלמודי משפטי, הנלמד מהחוזה התנ"כי בין משה לבין בני גד ובני ראובן, טרם הכניסה לארץ ישראל.