לדלג לתוכן

תרגילים פרק 5🏋️

[[5 - עצי אמת]]

תרגיל א:

![[Pasted image 20241129205322.png]]

  1. עליכם לסמן " X" תחת קצה של כל ענף שיש בו מופע של פסוק אטומי ושלילתו, ועל־ידי כך לקבוע אילו ענפים הם סגורים ואילו פתוחים.
  2. האם עץ זה הוא פתוח או סגור? מדוע?

P: ענף סגור r: ענף סגור s: ענף סגור q: ענף סגור לכן: **מדובר בעץ סגור.

תרגיל ב

א.

  1. p→(q→p)

graph TD;
id1("p→(q→p)") --> id2(p¬
X);
id1("p→(q→p)") --> id3("(q→p)");
id3("(q→p)") --> id4("q¬"); 
id3("(q→p)") --> id5(p);
עץ פתוח

האם שמים X בסוף גם כשהענף פתוח אבל אי אפשר לפרק יותר? לא זוכר.

בדיקה: נכון

  1. (p→q)∧¬(p↔q)

graph TD;
id1("(p↔q)¬∧(p→q)") --> id2("(p→q)
(p↔q)¬");
id2("(p→q)
(p↔q)¬") --> id3(p¬);
id2("(p→q)
(p↔q)¬") --> id4(q);
id3 --> id5(p
q¬);
id4(q) --> id6(q
p¬);
עץ פתוח

מה עושים כשיש שני פיצולים? לפי צ'אט GPT נראה שעשיתי נכון...

לא בדיוק נכון, הבנתי מאוחר מדי שעושים את הפיצול על כל אחד מהצמתים. חוץ מזה נכון.

  1. ((p∧¬q)∧¬¬q)→¬¬p

graph TD;
id1("((p∧¬q)∧¬¬q)→¬¬p") --> id2("¬((p∧¬q)∧¬¬q)");
id1("((p∧¬q)∧¬¬q)→¬¬p") --> id3(¬¬p);
id3(¬¬p) --> id4(p);
id2("¬((p∧¬q)∧¬¬q)") --> id5(¬¬¬q);
id2("¬((p∧¬q)∧¬¬q)") --> id6("¬(p∧¬q)");
id5(¬¬¬q) --> id7(¬q);
id6("¬(p∧¬q)") --> id8(¬p);
id6("¬(p∧¬q)") --> id9(¬¬q); 
id9(¬¬q) --> id10(q);
עץ פתוח

בדיקה: אם כבר לספר יש טעות, העץ שלי סבבה

  1. (((¬p∧q)∧(r→s))∧(¬q∧¬s))→(p→r)

graph TD;
id1("(((¬p∧q)∧(r→s))∧(¬q∧¬s))→(p→r)") --> id2("¬(((¬p∧q)∧(r→s))∧(¬q∧¬s))");
id1 --> id3("(p→r)");
id3 --> id4(¬p);
id3 --> id5(r);
id2 --> id6("((¬p∧q)∧(r→s))
(¬q∧¬s)
(¬p∧q)
(r→s)
¬p
q
¬q
¬s
 "); 
עץ סגור?

האם אני סוגר את הענף כי יש לי את שני המופעים של קיו? או שאני ממשיך כי אין לי את המופעים של אס ופי?

בדיקה: טעות!, לא שמתי לב שהקוניונקט שברישה הוא שלול, ככה שהייתי צריך לפצל את הצמתים התחתונות ולא ליצור בלוק אחד גדול. נו טוב, כרגע אני יודע את זה.

  1. ¬(((p→q)∧(¬q∨r))→¬(p∧¬r))
    graph TD;
    id1("¬(((p→q)∧(¬q∨r))→¬(p∧¬r))") --> id2("((p→q)∧(¬q∨r))
    ¬¬(p∧¬r)
    (p→q)
    (¬q∨r)
    (p∧¬r)
    ¬q
    r
    p
    ¬r
    closed branch");
    
    עץ סגור?

    לפי GPT אני הבנתי נכון: לא צריך שכל האותיות הפסוקיות יופיעו יחד עם שלילתן, אלא אחת בלבד (כדי לסגור ענף).

בדיקה: בסוף, בלבלתי OR עם AND. חייב לשים לב לזה!!! אני חייב לחשוב אלף פעם אם אני מסתכל על או, או על ו

ב.

  1. {p→q, p∨r}

graph TD;
id1(p→q, 
p∨r);
id1 --> id2("¬p");
id1 --> id3("q");
id3 --> id4(p);
id3 --> id5(r);
id2 --> id6(p);
id2 --> id7(r);
עץ פתוח

בדיקה: נכון

  1. {p→q, q→r, r→s}

graph TD;
id1("p→q,
q→r,
r→s");
id1 --> id2("¬p");
id1 --> id3("q");
id2 --> id4(¬q);
id2 --> id5(r);
id3 --> id6(¬q);
id3 --> id7(r);
id4 --> id8(¬r);
id4 --> id9(s);
id5 --> id10(¬r);
id5 --> id11(s);
id6 --> id12(¬r);
id6 --> id13(s);
id7 --> id14(¬r);
id7 --> id15(s);
עץ פתוח

בדיקה: נכון, אבל הייתי צריך לסגור את הענף של קיו ברגע שהוא היה סגור. הם לא רוצים שאמשיך מעבר.

  1. {¬(p∧q), p→q, p∨q}

graph TD;
id1("¬(p∧q),
p→q,
p∨q");
id1 --> id2(¬p);
id1 --> id3(¬q);
id2 --> id4(¬p);
id2 --> id5(q);
id3 --> id6(¬p);
id3 --> id7(q);
id4 --> id8(p);
id4 --> id9(q);
id5 --> id10(p);
id5 --> id11(q);
id6 --> id12(p);
id6 --> id13(q);
id7 --> id14(p);
id7 --> id15(q);
עץ פתוח

בדיקה: נכון, אבל הייתי צריך לסגור את הענף ברגע שהוא היה סגור. הם לא רוצים שאמשיך מעבר.

  1. {¬(p∨q), ¬p∧¬q, ¬(p→q)}

graph TD;
id1("¬(p∨q),
¬p∧¬q,
¬(p→q)");
id1 --> id2(¬p
¬q
p
¬q);
עץ סגור

בדיקה: מעולה

  1. {p↔q, ¬p↔r}

graph TD;
id1("p↔q, 
¬p↔r") --> id2("p
q");
id1 --> id3(¬p
¬q);
id2 --> id4(¬p
r);
id2 --> id5(p
¬r);
id3 --> id6(¬p
r);
id3 --> id7(p
¬r);
עץ פתוח

בדיקה: נכון, אבל לא להמיר ישר את לאלאפי לפי, להראות שזה צעד.

תרגיל ג.

  1. {p→q ,p∨r}
graph TD;
id1(p→q
p∨r);
id1 --> id2(¬p)
id2 --> id4(p
X);
id2 --> id5(r);
subgraph one 
id3 --> id6(p);
id3 --> id7(r);
id1 --> id3(q);
end

בדיקה, לפי החוברת נכון, אבל הייתי צריך לסמן רק את אחד הענפים באקראי. בקיצור, עץ פתוח הוא עץ קונסיסטנטי, לכן ענף פתוח אחד הוא מספיק כדי לקבוע שיש מצב בו כל הפסוקים אמיתיים (ההגדרה של קונסיסטנטיות).

  1. {p→q ,q→r ,r→s}
graph TD;
subgraph כל הפסוקים אמיתיים
id1(p→q,
q→r,
r→s) --> id2(¬p);
id2 --> id4(¬q);
id4 --> id8(¬r);
end
id1 --> id3(q);
id2 --> id5(r);
id3 --> id6(¬q
X);
id3 --> id7(r);
id4 --> id9(s);
id5 --> id10(¬r
X)
id5 --> id11(s);
id7 --> id12(¬r
X);
id7 --> id13(s);

בדיקה - נכון

  1. {¬(p∧q) ,p→q ,p∨q}

    graph TD;
    subgraph כל הפסוקים אמיתיים 
    id1("¬(p∧q),
    p→q,
    p∨q") --> id2(¬p);
    id2 --> id4(¬p);
    id4 --> id9(q);
    end
    id1 --> id3(¬q);
    id2 --> id5(q);
    id3 --> id6(¬p);
    id3 --> id7(q
    X);
    id4 --> id8(p
    X);
    id5 --> id10(p
    X);
    id5 --> id11(q);
    id6 --> id12(p
    X);
    id6 --> id13(q
    X);
    

  2. {¬(p∨q) ,¬p∧¬q ,¬(p→q)}

graph TD; 
id1("¬(p∨q)
¬p∧¬q
¬(p→q)
¬p
¬q
p
X");
עץ סגור, אין מצב קונסיסטנטי אפשרי

בדיקה: נכון מאוד וזין על החוברת

  1. {p↔q ,¬p↔r}
graph TD;
subgraph כל הפסוקים נכונים 
id1(p↔q
,¬p↔r) --> id2(p
q);
id2 --> id5(p
¬r);
end
id1 --> id3(¬p
¬q)
id2 --> id4(¬p
r
X);
id3 --> id6(¬p
r);
id3 --> id7(p
¬r
X);

בדיקה: נכון, אבל לא להמיר לא-לא-פי לפי! רק אם אני מראה את הצעד.

תרגיל ד

אפיינו את הפסוקים הבאים, על־ידי שימוש בעצי אמת - 1. (p→q)↔¬(q∧¬p)

graph TD; 
id1("(p→q)↔¬(q∧¬p)") --> id2("p→q
¬(q∧¬p)");
id2 --> id3("¬p");
id2 --> id4("q");
id3 --> id5("¬q");
id3 --> id6("¬¬p");
id4 --> id7("¬q");
id4 --> id8("¬¬p");
id6 --> id9(p);
id8 --> id10(p);

בדיקה: פירקתי לגמרי לא נכון... סתם סטלנות. אז כמובן שלא נכון. זה עץ סגור לכן סתירה עצמית.

עץ פתוח לכן לא סתירה עצמית, נבדוק אם טאוטולוגיה:

graph TD; 
id1("¬((p→q)↔¬(q∧¬p))") --> id2("¬(p→q),
¬(q∧¬p)");
id1 --> id3("(p→q),
¬¬(q∧¬p)
(q∧¬p)"); 
id3 --> id4(¬p
q);
id3 --> id5(q
¬p);
יש ענפים פתוחים, לכן קונטינגנציה.

  1. ((p→q)→p)→p

graph TD; 
id1("((p→q)→p)→p") --> id2("¬((p→q)→p)");
id1 --> id3("p"); 
יש ענף פתוח, לכן לא סתירה עצמית. נבדוק טאוטולוגיה:

graph TD; 
id1("¬(((p→q)→p)→p)") --> id2("((p→q)→p),
¬p"); 
id2 --> id3("¬(p→q)");
id2 --> id4("p
X");
id3 -->id5("p
¬q
X");

עץ סגור לכן טאוטולוגיה

בדיקה: נכון.

  1. ((p→q)→q)→q

graph TD; 
id1("((p→q)→q)→q") --> id2("¬((p→q)→q)");
id1 --> id3("q"); 
יש ענף פתוח לכן לא סתירה עצמית נבדוק טאוטולוגיה

graph TD; 
id1("¬((p→q)→q)→q") --> id2("((p→q)→q),
¬q"); 
id2 --> id3("¬(p→q)");
id2 --> id4("q
X");
id3 -->id5("p
¬q
");

עץ פתוח לכן קוטינגנציה

בדיקה: נכון

  1. ((p→q)∧(r→q))→(p→r)

graph TD; 
id1("((p→q)∧(r→q))→(p→r)") --> id2("¬((p→q)∧(r→q))");
id1 --> id3("(p→r)"); 
id3 --> id4("¬p");
id3 --> id5("r");
יש ענפים פתוחים, לא סתירה עצמית נבדוק טאוטולוגיה

graph TD; 
id1("¬((p→q)∧(r→q))→(p→r)") --> id2("((p→q)∧(r→q)),
¬(p→r)
p
¬r
(p→q)
(r→q)"); 
id2 --> id3(¬p
X);
id2 --> id4(q);
id4 --> id5(¬r);
id4 --> id6(q);

יש ענפים פתוחים, קוטינגנציה

בדיקה: נכון

  1. (p→q)→(p→(p∧q))

graph TD; 
id1("((p→q)→(p→(p∧q))") --> id2("¬(p→q)
p
¬q");
id1 --> id3("(p→(p∧q))"); 
יש ענף פתוח לכן לא סתירה עצמית נבדוק טאוטולוגיה

graph TD; 
id1("¬((p→q)→(p→(p∧q))
(p→q)
¬(p→(p∧q))
p
¬(p∧q)
p
¬q") --> id2(¬p);
id1 --> id3(q);
עץ סגור, לכן טאוטולוגיה

בדיקה: נכון

תרגיל ה

בדקו את תקפות הטיעונים הבאים על־ידי שימוש בשיטת עצי האמת:

1.
  1. p→q
  2. r→s
  3. q∨r p∨s

graph TD; 
id1("p→q
r→s
q∨r
¬p∨s") --> id2("¬p");
id1 --> id3("q");
id3 --> id4("¬r");
id3 --> id5("s");
id2 --> id6("¬r");
id2 --> id7("s");
id4 --> id8("q");
id5 --> id9("q");
id6 --> id10("q");
id7 --> id11("q");
id4 --> id12("r");
id5 --> id13("r");
id6 --> id14("r");
id7 --> id15("r");
id8 --> id16(¬p);
id8 --> id17(s);
יש ענף פתוח, לכן קבוצה קונסיסטנטית - טיעון לא תקף.

בדיקה: נכון>ב

2. 
1. p→(q∧r)
2. (q∨s)→t
3. s∨p
⸫ t
graph TD;
id1("p→(q∧r),
(q∨s)→t,
s∨p,
¬t") --> id2(¬p);
id1 --> id3("(q∧r)");
id2 --> id4("¬(q∨s)");
id2 --> id5("t");
id3 --> id6("¬(q∨s)");
id3 --> id7("t");
id4 --> id8("s");
id4 --> id9("p");
id5 --> id10("s");
id5 --> id11("p");
id6 --> id12("s");
id6 --> id13("p");
id7 --> id14("s");
id7 --> id15("p");
id8 --> id16("¬q
s");
id9 --> id17("¬q
s");
id12 --> id18("¬q
s");
id13 --> id19("¬q
s");

קונסיסטנטית, טיעון לא תקף

בדיקה: אחד מוזר... החוברת התחילה לפרק מהפסוק השני... יעיל מאוד אבל התוצאות שונות לגמרי. אצלה זה נסגר. אצלי לא... טעות שאצטרך לשבת עליה.

הסבר לטעות: החוברת טעתה... ![[Pasted image 20241206010712.png]]אפשר לראות בתמונה שהיא פירקה את "לא(קיו או אס)" בצורה לא נכונה, הדיסיונקטים צריכים להיות שלולים ולא בצורתם החיובית. וככה הענף של אס צריך להיות לא-אס, כלומר פתוח...

3.
1. p→(q→r)
2. q→(¬r→s)
3. (r∨s)→t
⸫ p→t

graph TD;
id1("p→(q→r),
q→(¬r→s),
(r∨s)→t,
¬(p→t)") --> id2(¬p);
id1 --> id3("(q→r)");
id2 --> id4("¬q");
id2 --> id5("(¬r→s)");
id3 --> id6("¬q");
id3 --> id7("(¬r→s)");
id4 --> id8("¬(r∨s)");
id4 --> id9("t");
id5 --> id10("¬(r∨s)");
id5 --> id11("t");
id6 --> id12("¬(r∨s)");
id6 --> id13("t");
id7 --> id14("¬(r∨s)");
id7 --> id15("t");
קבוצה קונסיסטנטית, טיעון לא תקף

4.
1. p→(q→r)
2. q→(r→s)
⸫ p→(q→s)
graph TD;
id1("p→(q→r)
q→(r→s) 
¬(p→(q→s))") --> id2(¬p);
id1 --> id3("(q→r)");
id2 --> id4("¬q
p
¬(q→s)
X");
id2 --> id5("(r→s)
p
¬(q→s)
X");
id3 --> id6("¬q
p
¬(q→s)
q
¬s
X");
id3 --> id7("(r→s)
p
¬(q→s)
q
¬s");
id7 --> id8(¬r);
id7 --> id9(s
X);
id8 --> id10(r
X);
id8 --> id11(¬q
X);

עץ סגור, לכן טיעון תקף

בדיקה: נכון

5.
1. p→(q↔¬r)
2. (q↔¬r)→s
⸫ p→s
graph TD;
id1("p→(q↔¬r)
(q↔¬r)→s 
¬(p→s)") --> id2(¬p);
id1 --> id3("(q↔¬r)");
id2 --> id4("¬(q↔¬r)
p
¬s
X");
id2 --> id5("s
p
¬s
X");
id3 --> id6("¬(q↔¬r)
p
¬s");
id3 --> id7("s
p
¬s
X");
id6 --> id8("q
¬r
q
¬¬r
r
X");
id6 --> id9("¬q
¬¬r
q
¬r
X");

עץ סגור לכן טיעון תקף

בדיקה: נכון

חשוב מאוד לסמן לעצמך באיזה קומה עצרת כל פעם, כשיש הרבה צמתים קל להתבלבל! לחזור שוב לשאלה 2 ולהבין מה המגבלות של סדר פעולות - האם עשיתי לא נכון שם? או שיש לי טעות טכנית?