תרגילים פרק 5🏋️
[[5 - עצי אמת]]
תרגיל א:¶
![[Pasted image 20241129205322.png]]
- עליכם לסמן " X" תחת קצה של כל ענף שיש בו מופע של פסוק אטומי ושלילתו, ועל־ידי כך לקבוע אילו ענפים הם סגורים ואילו פתוחים.
- האם עץ זה הוא פתוח או סגור? מדוע?
P: ענף סגור r: ענף סגור s: ענף סגור q: ענף סגור לכן: **מדובר בעץ סגור.
תרגיל ב¶
א.¶
- 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 בסוף גם כשהענף פתוח אבל אי אפשר לפרק יותר? לא זוכר.
בדיקה: נכון
- (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 נראה שעשיתי נכון...
לא בדיוק נכון, הבנתי מאוחר מדי שעושים את הפיצול על כל אחד מהצמתים. חוץ מזה נכון.
- ((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);
בדיקה: אם כבר לספר יש טעות, העץ שלי סבבה
- (((¬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
");
האם אני סוגר את הענף כי יש לי את שני המופעים של קיו? או שאני ממשיך כי אין לי את המופעים של אס ופי?
בדיקה: טעות!, לא שמתי לב שהקוניונקט שברישה הוא שלול, ככה שהייתי צריך לפצל את הצמתים התחתונות ולא ליצור בלוק אחד גדול. נו טוב, כרגע אני יודע את זה.
- ¬(((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. חייב לשים לב לזה!!! אני חייב לחשוב אלף פעם אם אני מסתכל על או, או על ו
ב.¶
- {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);
בדיקה: נכון
- {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);
בדיקה: נכון, אבל הייתי צריך לסגור את הענף של קיו ברגע שהוא היה סגור. הם לא רוצים שאמשיך מעבר.
- {¬(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);
בדיקה: נכון, אבל הייתי צריך לסגור את הענף ברגע שהוא היה סגור. הם לא רוצים שאמשיך מעבר.
- {¬(p∨q), ¬p∧¬q, ¬(p→q)}
graph TD;
id1("¬(p∨q),
¬p∧¬q,
¬(p→q)");
id1 --> id2(¬p
¬q
p
¬q);
בדיקה: מעולה
- {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);
בדיקה: נכון, אבל לא להמיר ישר את לאלאפי לפי, להראות שזה צעד.
תרגיל ג.¶
- {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
בדיקה, לפי החוברת נכון, אבל הייתי צריך לסמן רק את אחד הענפים באקראי. בקיצור, עץ פתוח הוא עץ קונסיסטנטי, לכן ענף פתוח אחד הוא מספיק כדי לקבוע שיש מצב בו כל הפסוקים אמיתיים (ההגדרה של קונסיסטנטיות).
- {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);
בדיקה - נכון
-
{¬(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);
-
{¬(p∨q) ,¬p∧¬q ,¬(p→q)}
graph TD;
id1("¬(p∨q)
¬p∧¬q
¬(p→q)
¬p
¬q
p
X");
בדיקה: נכון מאוד וזין על החוברת
- {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);
- ((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");
עץ סגור לכן טאוטולוגיה
בדיקה: נכון.
- ((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
");
עץ פתוח לכן קוטינגנציה
בדיקה: נכון
- ((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);
יש ענפים פתוחים, קוטינגנציה
בדיקה: נכון
- (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.
- p→q
- r→s
- 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 ולהבין מה המגבלות של סדר פעולות - האם עשיתי לא נכון שם? או שיש לי טעות טכנית?