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

Slides:



Advertisements
Similar presentations
Some important properties Lectures of Prof. Doron Peled, Bar Ilan University.
Advertisements

Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
1 Formal Specifications for Complex Systems (236368) Tutorial #2 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book); Z.
Presentation by Dudu Yanay and Elior Malul 1.  מה משותף לכל אלגוריתם המשתמש ב -Bucket Elimination: ◦ נתון מודל הסתברותי ורשת ביסיאנית מתאימה. ◦ נתונה.
מכונת מצבים תרגול מס' 4 Moshe Malka.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב'
מתמטיקה בדידה תרגול 3.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
משטר דינמי המשך – © Dima Elenbogen :55 חידה שכדאי לעבור עליה: 2011/ho/WCFiles/%D7%97%D7%99%D7%93%D7%94%20%D7%A2%D7%9D%20%D7%91%D7%95%D7%A0%D7%95%D7%A1.doc.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
רקורסיות נושאי השיעור מהן רקורסיות פתרון רקורסיות : שיטת ההצבה שיטת איטרציות שיטת המסטר 14 יוני יוני יוני 1514 יוני יוני יוני 1514.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
סמינר במדעי המחשב 3 עודד פרץ משפט הנורמליזציה החזקה.
מרצה: פרופסור דורון פלד
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
1 מבוא למדעי המחשב ביטויים. 2 ביטויים expressions ביטויים (expressions) הינם יצורים תחביריים בעלי טיפוס וערך. הגדרה אינדוקטיבית של ביטויים : קבועים הם.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תכנות תרגול 10 שבוע : הקשר בין מערכים למצביעים נרצה לעמוד על הקשר בין מערך למצביע מאחר ומערכים הם הכללה של משתנים הרי שברור שלמערך ולכל אחד מאיבריו.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
1 מפרטים פורמאליים תרגול מספר 1 מהות הקורס:כח ביטוי. בעיות מעשיות (ולא הוכחות) מתרגל אחראי:שחר דג מתרגלת:אמיליה כץ אתר:
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תחשיב היחסים (הפרדיקטים)
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
1 תרגול 11: Design Patterns ומחלקות פנימיות אסף זריצקי ומתי שמרת 1 תוכנה 1.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
. Sequence Alignment Tutorial #3 © Ydo Wexler & Dan Geiger.
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
4 July 2007 נרמול מסד הנתונים.
SQL בסיסי – הגדרה אינדוקטיבית
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
Marina Kogan Sadetsky –
תרגול 11 NP complete.
תוכנה 1 תרגול 13 – סיכום.
Engineering Programming A
Presentation transcript:

שעור 2 תחביר וסמנטיקה

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

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

תחביר של תורת הפסוקים Var={p 0, p 1, p 2, …, p n } Symb={/\, \/, , ¬, T, F, (, )} אנו מתייחסים לאיברים של Var כמו אטומים. Symb הינה הקבוצה של הסימנים הלוגיים.

הגדרה: קבוצת WFF היא תת קבוצה של קבוצת המילים הסופיות מעל מוגדרת בצורה אינדוקטיבית כדלקמן: בסיס האינדוקציה: (1)כל p i מ-Var היא בWFF (2) (3) סגירות: (1) אם הם בWFF אז גם (2) אם הם בWFF אז גם (3) אם הם בWFF אז גם (4) אם בWFF אז גם קבוצת הנוסחאות הבנויות היטב (נב"ה = WFF) כמחרוזות נב"ה ≠ נא-בעיין!

תמיד נשתמש באותיות יווניות קטנות כדי לציין איברים מWFF לעיתים נרשום והכוונה היא שכל המשתנים במילה הם מתוך דוגמא: הנוסחאות הבאות הן נוסחאות בנויות היטב מWFF:

דוגמאות נוספות הקבוצה מוגדרת באופן דומה אבל בשימוש רק ב(1) ו-(3) מהבסיס ו(3) מתנאי הסגירות. 1.הביטויים הבאים לא שייכים ל WFF: 2. הביטויים הבאים שייכים ל :

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

תרגילים הוכח:

תתי נוסחאות כל הנוסחאות המשמשות בבניה הרקורסיבית של נוסחא הן תתי נוסחאות שלה. למשל לנוסחא ((p 1  F)  (p 2  F)) יש את תתי הנוסחאות הבאות: p 1 (p 1  F) p 2 (p 2  F) ((p 1  F)  (p 2  F))

החלפת תתי נוסחאות (substitution) נרשום לפעמים נוסחא בצורה פרמטרית:  (  1,  2, …,  n ) צורת כתיבה זו תשתמש בסימונים  i כממלאי מקום עבור נוסחאות. למשל  (  1,  2 )= ((  1  F)  (  2  F)) אם נציב (p 1  p 3 )=  1  2 =(p 2  F) נקבל: (((p 1  p 3 )  F)  ((p 2  F)  F))

טבלאות האמת והסמנטיקה של השפה הלוגית משמעות נוסחה בנוייה היטב (WFF) היא אלמנט מתוך הקבוצה {0,1}, כאשר 0 הוא שקר (FALSE) ו 1 הוא אמת (TRUE). נבחין בין הערכים 0 ו-1 הסמנטיים ו-T ו-F הסינטקניים. ניתן לחשוב על טבלת אמת כעל תיאור התנהגות של מעגל בוליאני מסויים. טבלאות האמת מתארות את התנהגות הקשרים הלוגיים בהתאמה.

המטרה של החלק הבא היא להגדיר את פונקציית המשמעות הנתונה בידי קבוצה של השמות. הטבלאות יכילו n-יה של ערכים {0,1} ויחזירו {0,1}, זאת אומרת שנוצרת הפונקצייה: קבוצתה ההשמות: נרצה לתת פירוט לכל אחד מהמשתנים האטומיים של הנוסחה, זאת אומרת, נשים {0,1} בכל אחד מהם: As היא קבוצת ההשמות פוקנציית המשמעות M היא פונקצייה שמקיימת: M:WFFxAs  {0,1} F,T הם עוד סימון

טבלאות אמת הגדרה טבלת אמת מסדר n-י, TT היא פונקצייה: לכל אחד מן הסימנים נשייך טבלת אמת בינארית שתיוצג באופן הבא:

טבלאות אמת - המשך

השמות אמת הגדרה השמת ערך אמת היא פונקצייה: נסמן ב As= את כל השמות האמת. ניתן לחשוב על המשתנים ב Var כעל רגיסטרים במצב מסוים נתון ועל Z כעל פונקצייה אשר בודקת את התוכן של כל רגיסטר.

פונקצית המשמעות פונקציית משמעות M PL היא פונקצייה M PL : WFF x As  {0,1} הגדרה נציין ע"י M PL את פונקציית המשמעות לשם תחשיב הפסוקים שמוגדרים בדרך אינדוקטיבית כדלהלן : בסיס: M PL (p i,z) = z( p i ) ; M PL (T,z) = TT T = 1 ; M PL (F,z) = TT F = 0 ;

פונקצית המשמעות ) המשך) המשך הגדרה אינדוקטיבית M PL ((  1   2 ),z)=TT  (M PL (  1,z),M PL (  2,z)) M PL ((  1   2 ),z)=TT  (M PL (  1,z),M PL (  2,z)) M PL ((  1   2 ),z)=TT  (M PL (  1,z),M PL (  2,z)) M PL (  ,z)=TT  (M PL ( ,z))

פונקציית המשמעות { ,F} M מוגדרת עבור נוסחאות מוגדרות היטב מסוג. כאשר נגדיר את { ,F} M להיות הצימצום של ל A X.

מדוע בחרנו באוסף הקשרים המסוים הזה ולא אחר? נדרוש שלמות פונקציונלית, כלומר, כל נוסחא ניתן לבטא באמצעות הקשרים הלוגיים שבחרנו. האם { /\, \/, ¬} היא קבוצה שלמה פונקציונלית? האם { /\, ¬} שלמה פונקציונלית? ומה עם { , F}? ומה עם {  } ?

שלמות פונקציונלית תהי טבלת אמת n-ארית. אזי קיימת נוסחה  (  1,  2, …,  n ) עבורה  (  1,  2, …,  n ),z) = TT(M PL (  1,z), M PL (  2,z), …, M PL (  n,z)) M PL ( אפשר למעשה למצוא את הנוסחה ב או ב. נתאר בתור את השורה ה-X בטבלה כאשר כל הוא  i עבור 1 ו  i עבור 0 בטבלה TT הנוסחא הכללית תהיה כאשר הן השורות בטבלה שמחזירות 1..

לדוגמא טבלת אמת של NAND: TT NAND (0,0)=1 TT NAND (0,1)=1 TT NAND (1,0)=1 TT NAND (1,1)=0 נניח שתתי הנוסחאות הן p 1 ו-p 2. נקבל (¬p 1 /\¬p 2 )\/(¬p 1 /\p 2 )\/(p 1 /\¬p 2 ) ובאופן יותר כללי: (¬  1 /\¬  2 )\/(¬  1 /\  2 )\/(  1 /\¬  2 )

לוגיקה בעלת הסימן  בלבד אינה שלמה פונקצינלית הוכחה:בתרגול עוד דוגמא: לוגיקה רק עם . נניח שאנו רוצים לבטא את הפסוק ¬p 0. כל פסוק רק עם  שקול לפסוק בו כל משתנה יופיע רק פעם אחת. אם יופיע משתנה אחר מ- p 0 אז הפסוק יהיה תלוי בערך המשתנה הזה, בניגוד לנוסחא ¬p 0. לכן לא יכול להופיע משתנה נוסף. כל נוסחא רק עם ¬p 0 תהיה שקולה ל- ¬p 0.

קריאות יחידה לדוגמא, יש לנו שפה שבה שתי מילים: Z ו-ZZ השפה נכתבת ללא רווחים. כיצד להבין ZZZ ? ZZZZ? יש יותר מאפשרות אחת. בשפות עם תחביר פורמלי, רוצים קריאות יחידה. בלוגיקה של פסוקים יש קריאות יחידה (יוכח בתרגול).

תלות במספר משתנים סופי כל נוסחא פסוקית תלויה בהצבתה במספר משתנים סופי, כלומר במשתנים המופיעים בנוסחא. למשל: (((p 1  p 3 )  F)  ((p 2  F)  F)) תלוי רק במשתנים p 1 p 2 p 3. כיצד להוכיח? כי "רואים את זה"? הוכחה באינדוקציה על אורך הנוסחא, או על סדרת הבניה שלה מתתי נוסחאות. אז ערך הנוסחא יהיה זהה עבור כל שתי הצבות z1 ו-z2 הנותנות ערך לוגי זהה לשלושת המשתנים p 1 p 2 p 3. מה עם נוסחאות שכלל לא תלויות בערכי הצבת האמת?

טאוטולוגיות ≠ "טעות-אולוגיות" Tautologies נוסחאות שלא תלויות בהצבת האמת. דוגמאות: p 1 \/¬p 1 (p 1  (p 2  p 1 )) ((p 1  (p 2  p 3 ))  ((p 1  p 2 )  (p 1  p 3 ))) הסכמות המתאימות אינן תלויות בתתי הנוסחאות המוצבות (שוב, ניתן להוכיח פורמלית באינדוקציה). לדוגמא: ((  1  (  2   3 ))  ((  1   2 )  (  1   3 )))

כיצד להוכיח שנוסחא היא טאוטולוגיה? לבדוק על ידי הגדרת הסמנטיקה של הנוסחא, דרך הצבות בטבלאות האמת של הקשרים המופיעים בנוסחא. כמות העבודה: n 2 קומבינציות של 0 ו-1, עבור כל צרוף לוגי של משתני הנוסחא (אם משתנה מופיע כמה פעמים משתמשים באותו ערך לוגי). האם ניתן להוכיח באופן יותר פשוט? יש כל מיני היוריסטיקות (אלגוריתמים שעובדים הרבה פעמים יותר טוב, אבל לא תמיד), אבל בעקרון, זו אחת הבעיות הפתוחות החשובות ביותר במדעי המחשב. במקום זאת: מערכת הוכחה (נלמד בהמשך).

ספיקות של נוסחא Satisfiability נוסחא היא ספיקה אם קיימת הצבת אמת למשתניה הנותנת ערך לוגי 1. דוגמאות: p 1 \/p 2 כל טאוטולוגיה היא כמובן ברת סיפוק. האם קיים קשר נוסף בין טאוטולוגיות ונוסחאות ברות סיפוק?

קשר בין טאוטולוגיות ונוסחאות ברות סיפוק מהגדרתן, 1.עבור כל נוסחא  שהיא טאוטולוגיה, ¬  היא אינה ברת סיפוק, ולהיפך 2.לכל נוסחא  שהיא אינה ברת סיפוק, ¬  היא טאוטולוגיה.

בדיקת ספיקות של נוסחא שוב ניתן לבדוק את כל הצרופים הלוגיים של ערכי משתני הנוסחא, לפי הסמנטיקה של הנוסחא וטבלאות האמת של הקשרים המופיעים בה. מספיק למצוא הצבת אמת אחת כדי להסיק שהנוסחא ספיקה, לעומת בדיקת טאוטולוגיות, שם יש לבדוק עם כל ההצבות נותנות ערך אמת 1 לנוסחא. אבל האם העובדה ש"ניחוש" נכון מספיק אומר שיש אלגוריתם שהינו יותר טוב מבדיקת כל האפשרויות? אחת השאלות הפתוחות החשובות ביותר במדעי המחשב עשרות שנים, האם NP=P? (יורחב בקורס בחישוביות).

We repeat some notation and definitions. An assignment z satisfies a formula  if M PL ( , z)=1  |==  means that  logically implies , i.e., each assignment that satisfies all the formulas in  also satisfies .  |--  means that we can prove  from , i.e., there is a proof sequence that uses assumptions from , the axioms A1, A2, A3 and the proof rule MP, and ends with .

Substitution of variables by formulas Let  be a WFF. A function s:Var  WFF is called a substitution function. We define inductively a function subst( ,s) that replaces in  all the variables p i by s(p i ). Basis: subst(p i,s)=s(p i ), subst(F,s)=F, subst(T,s)=T. Closure: subst((  1 /\  2 ),s)=(subst(  1,s)/\subst(  2,s)) subst((  1 \/  2 ),s)=(subst(  1,s)  subst(  2,s)) Etc.

For example s={, } subst((p 1 \/p 2 ),s)=(subst(p 1,s)\/subst(p 2,s))= ((p 3 \/p 4 )\/(p 5 \/p 6 )) Finite dependency of substitution: Let  be a WFF with all its propositions inside {p 1,p 2,…,p n }. Let s 1 and s 2 be two substitution functions such that for each i, s 1 (p i )=s 2 (p i ). Then subst( ,s 1 )=subst( ,s 2 ).

Some propositions If  is not satisfiable and s is a substitution, then subst( ,s) is not satisfiable. If  is a tautology and s is a substitution, then subst( ,s) is a tautology.

Provability and satisifiability ניתנות להוכחה וסיפוק Lemma(*):  |==  iff  {   F} is unsatisfiable. One direction: from  |== , any assignment that satisfies  must also satisfy , thus cannot satisfy {   F}. Conversely, if  {   F} is unsatisfiable, any assignment that satisfies  cannot satisfy {   F}, hence it must satisfy .