45
ףףףףף ףףףףף ףףףףף ףףףף ףףףף ףףףף ףףףףףףףף ףףףףףףף ףףףףףףף ףףףףף ףף3 ףףףף ףףףףףףף ףףף1 ףףףף ףףףף ףףףףף

סמינר במדעי המחשב חורף תשסט תורת הטיפוסים הפשוטים הבסיסית

  • Upload
    kaemon

  • View
    49

  • Download
    9

Embed Size (px)

DESCRIPTION

סמינר במדעי המחשב חורף תשסט תורת הטיפוסים הפשוטים הבסיסית. הרצאה מס 3 ינון רפופורט חלק 1 משפט בנית הנושא. הקבלה בין עצים. במערכת TA λ יש התאמה בין מבנה עץ של ההסקה Γ├ M: τ לבין העץ של M נראה דוגמא:. דוגמא. נסמן B= λ xyz.x(yz) ראינו בהרצאה הקודמת חישוב הטיפוס של B. - PowerPoint PPT Presentation

Citation preview

Page 1: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

סמינר במדעי המחשב חורף תשסט תורת הטיפוסים הפשוטים הבסיסית

3הרצאה מס ינון רפופורט

משפט בנית הנושא1חלק

Page 2: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הקבלה בין עצים

יש התאמה בין מבנה עץ של TAλבמערכת •M לבין העץ של Γ├M:τההסקה

נראה דוגמא:•

Page 3: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

דוגמא

B=λxyz.x(yz)נסמן •

Bראינו בהרצאה הקודמת חישוב הטיפוס של •

Page 4: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

Bחישוב הטיפוס של

•Γ={x:a→b,y:c→a z:c}• y:c→a ├ y:c→a z:c ├ z:c •-)--------------------------------- E(

X:a→b ├ x:a→b y:c→a , z:c ├ yz:a-)-------------------------------------------------E(

Γ├ (x(yz)):b-) ---------------------I(main

Γ-z ├ (λz.x(yz))c→b-)-------------------------------I(main

Γ-z-y ├ (λyz.x(yz)):(c→a)→c→a-)-----------------------------------------I(main

) ├λxyz.x(yz):(a→b)→(c→a)→c→b

Page 5: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

אם נשאיר רק את הנושא מהפיתוח נקבל

z y | | x

| ----- +------| | | |

yz | | | +----------------+-------------------+

x(yz) | |

z.x(yz)λ |

| λyz.x(yz)

| |

λxyz.x(yz)

Page 6: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

השוואה בין שני הציורים

אנחנו רואים שקבלנו בדיוק את עץ •היצירה

Bשל •

Page 7: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

משפט בנית הנושא

אזי M:τ ├ Γ של הנוסחה TAλ הסקת Δנניח •

כל דבר פרט לנושא Δ)אם נשמיט מכל נוסחה ב )1• יהפוך עץ של ביטויים שהוא בדיוק עץ היצירה Δאז

Mעבור ואזx:τ} }=Γ אזי , M≡xנניח , הוא אטום M)אם )2•

Δ מכילה רק נוסחה אחת - האכסיומה x:τ ├ x:τ

Page 8: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

משפט בנית הנושא)המשך(

Δ אזי הצעד האחרון בM=(PQ)אם (3)•לשתי ( E)→מוכרח להיות אפליקציה של

נוסחאות מהצורה

•Γ † P ├ P:σ→τ Γ†Q├ Q:σ

σעבור איזשהו

Page 9: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

משפט בנית הנושא)המשך(

ρ→σ הוא בהכרח τ אזי M≡λx.Pאם )4(

יותר מזה

היה Δ אזי הצעד האחרון ב xεFV(P) אם

Γ,x:ρ ├P:σ ל I(main(→ אפליקציה מהצורה

היה Δ אזי הצעד האחרון ב x \ε FV(P) ואם ├ Γ → ) ל I)vacאפליקציה מהצורה

P:σ

Page 10: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

TAλהגדרה הסקה בספר)9C1(סעיף

) הם עצים בעלי תויות מגדרים TAλהסקה הגדרה)• TAλכדלהלן כל צמת נושא שתי תויות נוסחת

.ומיקוםהסקה אטומית היא צמת יחיד מסומן באקסיומה )1(•

ומיקום ריק כך•x:τ ├ x:τ position

הן הסקות וצמתי התחתית שלהם Δ1 Δ2 אם )2(• במיקום והנוסחאות הן בהתאמה מסומנות

•Γ1 ├ P:{σ→τ), Γ2 ├ Q:σ עקיב Γ1 U Γ2 וגם •

Page 11: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

TAλהגדרה הסקה בספר)המשך9C1(סעיף

1) נבנית על ידי כך ששמים Δ1,Δ2אזי יש הסקה חדשה הקרויה )• ואז בונים 2Δ לימין של כל מיקום ב 2 ושמים Δ 1לימין כל מיקום של

ההסקות ששונו כפי שרואים בשרטוט2צמת נוסף בין

•Modified Δ1 modified Δ2•Γ1├ P:σ→τ 1 Γ2 ├Q:σ

•------------------------------------------------•Γ1 U Γ2 ├ PQ:τ

├Γ היא הסקה וצמת תחתית מסמן ב מקום והנוסחה Δ1 אם )3(•P:τ היא עקיבה עםx:σ , אז ההסקה החדשה נקראת )λx.Δ1(

Page 12: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

TAλהסקה הגדרה בספר)9C1 (סעיף

בקצה 0והיא נבנית עלידי כך שרושמים • ושמים 1Δהשמאלי של כל תוית מיקום ב

צמת חדש בין ההסקה המתקנת כמו בשירטוט הבא

– modified Δ1– Γ ├ P:τ 0

–Γ –x ├ (λx.P):σ→τ

Page 13: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחה של המשפט

|Mבאינדוקציה על |•9C1 נובע מהגדרה של הסקת מסקנות בסעיף ( 3( )2( )1)עבור • בהרצאה(I)- נשתמש בהגדרות של M≡λx.P (4)עבור • היהΔהקודמת נקבל שהצעד האחרון ב

→(I )main Γ,x:ρ ├ P:σ FV(P) xε אם ----------------

λx.P:ρ→σ Γ├

→)I(vac Γ├ P:σxε\ FV(P) אם -----------

Γ├ λx.P:ρ→σ

משל

Page 14: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

אינה יחידהΔהסקה של

Γ├M:τ ההסקה של Δ אם Mעבור ביטוי • Mאזי מהמשפט הקודם נובע שעץ הבניה של

וגם את הביטויים Δ קובע את עץ הבניה של אבל אין להסיק מכך שכל Δבכל הצמתים של

נקבעים עלי ידי זה משום Δהמרכיבים של שיש חופש לקבוע את הטיפוסים בצמתים לא

Δתחתונים של

Page 15: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

2B21A דוגמא

τ≡a→a Γ=Фונניח גם M≡(λxy.y)(λz.z) נניח •להלן הסקת המסקנות •

•Y:a ├ y:a •→) -----------------I(

•) ├λy.y:(a→a z:σ ├ z:σ•→) -----------------I→)-------------- (I(

•)├λxy.y):(σ→σ→(a→a ├(λz.z):σ→σ x:σ→σ עקיב עם Γבגלל ש •

•→)------------------------------------------------------E(•) →├ λxy.y)(λz.z:(a→a

יכול להיות כלשהוא!σוהטיפוס –

Page 16: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הערה לדוגמא

) I λ הוא בצורה נורמלית או ביטוי Mאם • P x ב λx.Mכלומר כל תת ביטוי מהצורה

מופיע חפשי לכל הפחות פעם אחת)

(ההסקה) Δאז החופש בחירה הזה יעלם ואז •. נראה זאת בלמה Mתיקבע באופן מחלט ע"י

הבאה.

.

Page 17: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

nfלמה – יחידות ההסקה עבור (normal forms)

(כלומר לא מכיל פשטי nf- β הוא Mנניח •β ונניח (Δ היא הסקה TAλ שלM:τ ├ Γאזי

או τ קיים מופע ב Δ לכל טיפוס ב ) 1(•Γבטיפוס ב

•)2 ( Δ אם גם , כלומר, הוא יחיד Δ ’ היאΔ≡Δ ’ אז M:τ ├ Γהסקה של

Page 18: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחה של הלמה

|Mנשתמש באינדוקציה על |• -nf הוא M זה קל משום M≡λx.P ו M≡yעבור •

β כי אז τ הוא ρ→σ ואלה הטיפוסים ב λx.P

נזכור : M=yP1..Pnעבור •(לא הצגה)1B10להלן למה קודמת מהספר • ניתן להיות מבוטא באופן יחיד nf- β שהוא Nכל •

N=λx1x2 λxm.yN1N2 Nmבצורה

סגור אזי Nואם , nf- β הם N1 .. Nmכאשר •yε{x1,x2,x3 xm}

Page 19: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחה של הלמה)המשך(

n>1 ו M≡yP1.. Pnנניח • תכיל את האכסיומה M:τ ├ Γ של Δבמקרה כזה כל הסקה ••y:(ρ1→ρ2…..→ρn)├ y:(ρ1→ρ2…..→ρn) וגם n הסקות Δ1 ….

Δn שיתנו יחד Γ1 ├ P1: ρ1 , …. , Γn├ Pn: ρn

נוכל להסיק ) E(→ואז כאשר נפעיל אפליקציות ••}y:(ρ1→ρ2…..→ρn→τ){UΓ1 … Γn├(yP1…Pn):τ

ואם נזכור y:(:(ρ1→ρ2…..→ρn→τ){U Γ1 … Γn{ יהיה בהכרח Γואז •M נקבל שיש לנו פרוק מתאים ל Mמהו

Γ או ב τ ) או בτ או ב Piכל טיפוס בפיתוח (•

Page 20: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחה של הלמה)המשך(

(1)כדי להוכיח את • Δi של הנחת האינדוקציה כל טיפוס ב (1)לפי חלק •

Γ ולכן ב i Γ או ב i ρמופיע ב )1( לכן מתקיים Γ מופיע ב yכמו כן הטיפוס של • חיב ’ Δ הטענה למעלה מראה ש ) 2(כדי להוכיח את •

והטיפוס שמתאם Δלהשתמש באותם חוקים באותו מקום כמו ב וההנחה שהטיפוסים התלויים בהקשר Γ נקבע עי ’ Δ ב y ל P1..Pn ) הם עקיבים לכן הסוגים של type-context(ה

.yנקבעים על ידי הסוג של

Page 21: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

שימו לב )תכונת של תת-הנוסחה(

מתאים למה שנקרה תכונת של תת-הנוסחה:(1)חלק •במערכת הסקה טבעית כל נוסחה בהסקה שאי אפשר •

לפרק הלאה מופיעה או במסקנה או בהנחה לא ( Undischarged assumptionמשוחררת. )

, σ מכילה את הטיפוס TAλ הסקת 2B21Aבדוגמא •שאינו מופיע במסקנה או בהנחה לא משוחררת

שם הוא לא בצורה נורמלית – יש שם Mהסיבה לכך היא שב•β פשט

Page 22: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

למת השמה ראשונה עבור הסקה

למה ראשונה עבור הצבה• Γ├ λ M:τנניח • עבור y התוצאה של הצבת Γ[ y/x] וגם •

.Γ ב x (term variable)משתנה ביטוי אם מתקיים אחד מהתנאים הבאים••)1 ( y ε\ Subjects(Γ)•)2 ( yו x מקבלים אותו טיפוס ב ΓΓ ├ (]y/x[M):τ[y/x]אזי •

Page 23: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחת הלמה הראשונה

בספר 2A11נזכר בלמה •• •Γ├M:τ (1) אםם subjects(Γ) superset of FV(M)

Γ † M├ M:τ של הנוסחה TAλ וגם קיימת הסקה

)2 ( )exists Γ)(Γ├ M:τ) ↔ (exists Γ}(Γ is an M context and Γ├M:τ (

M context means subject(Γ)=FV(M)

M ( exists Γ)(Γ├ M:τ) ↔ ├ M:τעבור ביטוי סגור )3(

Page 24: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחת למה ראשונה )המשך(

[ תנאי העקיבות עבור Γ]y/xבשני המקרים מקיים •CONTEXT

קיימת הסקה2A11לכן לפי למה •• Γ¯├M:τ עבור איזשהיא Γ¯ subset of Γ כאשר

Subjects(Γ¯)=M ואז [y/x]Γ ¯עקיב | ונראה שM ואז באינדוקציה על |

[y/x]Γ¯ ├ (]y/x[M):τ

M≡λy.P. כדי לטפל במקרה ש M יכול להיות קשור ב y הערה | צריך להשתמש באינדוקציה פעמים ולנצל את העובדה ש

[z/y]P|=|P|

Page 25: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחת הלמה הראשונה)המשך(

נזכר בלמת ההחלשה מההרצאה הקודמת••Γ├M:τ , Γ+ superset of Γ => Γ+ ├ M:τ

כנדרשΓ ├ (]y/x[M):τ[y/x]ואז נקבל •

Page 26: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

INVARIANT) ) αלמת שמור

├Q:τ Γ אזי P≡αQ וגם ├P:τ Γאם •( 9Cהוכחה (מסתמך על •מספיק להוכיח עבור שנוי אחד של משתנה •

מדובר על החלפות של משתנים αקשור(בשוויון קשורים)

על ידי P ב x.M λלדוגמא ההחלפה של מרכיב •y.]y/x[M λ אם y ε/ FV(M).

אזי התוצאה נובעת מהלמה הקודמת x.M≡P λאם •)y ב x(שם החלפנו

(למת 59C זה נובע מ P הוא חלק מ λx.Mאם •ההחלפה)

Page 27: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

(9C5למת ההחלפה בספר)

ונניח M:τ ├ Γ של הנוסחהTAλ הוא הסקת Δאם • מכילה תת Δ. אזי p במקום P מכילה מרכיב Mש

עבור Γp ├ P:σp של נוסחה בצורה p Δהסקה .p σ ו Γpאיזה שהם

p במקום P התוצאה של החלפת }T/P}pMתהי • שהוא ΓT עבור איזה ΓT ├ T:σp כך T ע"י ביטוי

superset של ΓP אזי λ {T/P}p M:τ ├ Γ

Page 28: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

למת ההצבה השניה עבור הסקה

Γ1,x:σ ├ M:τ ונניח 2Γ עקיבה עם 1Γנניח • ├ Γ1 U Γ2 אזי N:σ ├ 2Γ וגם

]N/x[M:τ

Page 29: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחה של למת ההצבה השנייה עבור הסקה

(אם לא שייך זה ברור – זה סתם הצבה) xεFV(M)נניח •) אפשר להניח ששום משתנה αלפי למה קודמת(של שמירת •

הוא M[N/x]. במקרה זה xN אינו חפשי ב Mקשור ב ללא N עלידי M חפשי ב xבפשטות תוצאה של החלפת כל

שינויים במשתנים קשורים . למעלה אנחנו יכולים להניח ש 2A11 לפי למה •

•Subject(Γ1)U{x}=FV(M) •Subject(Γ2) = FV(N)

|Mואז התוצאה נובעת מאינדוקציה על |•

Page 30: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

רדוקציה והרחבה של נושא

משפט הרדוקציה של נושא•Γ├Q:τ אזי P►βηQ וגם ├P:τ Γאם•

Page 31: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחה:

עבור Γ¯├P:τ של Δ קיימת הסקה 2A11לפי למה •subject(Γ¯)=FV(P) כך ש Γ¯ subset of Γאיזה

FV(P) superset of FV(Q) לפי משפט קודם •)P►βηQ(בגלל ש

ו β הוא פשט P מספיק להוכיח כאשר 9C5לכן לפי •Q כווץ )contractum(

Page 32: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחה(המשך)

1מקרה ••P≡(λxM)N Q=]N/x[M בחישוב Δאז לפי משפט הצבה לצעדים התחתונים של X ε FV(M)אם •

הם בצורהPהטיפוס של •Γ1,x:σ ├ M:τ

•→) -------------------I(main•Γ1 ├ (λx.M):(σ→τ) Γ2├ N:σ

•→)-----------------------------------------------------E(•Γ1 U Γ2 ├ ((λx:M)N):τ

¯ Γ1 U Γ2 = Γכאשר • )Q=]N/x[M נקבל (נזכור ש N ו Mבמשפט ההצבה השני עבור ••Γ1 U Γ2 ├ ]N/x[M:τ כלומר הראינו ש Q מהטיפוס τ - דומה FV(M) לא ב xאם •

Page 33: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הוכחה(המשך)

2מקרה ••P≡λx .Mx Q=M x ε/ FV(M) ואז ρ→σ≡τ עבור איזה שהם

σ ρ ולפי משפט בנית הנושא הצעדים האחרונים ב Δ הם מהצורה

•Γ¯├ M:ρ→σ x:ρ├ x:ρ•→) ----------------------------------E(

•Γ¯, x:ρ ├ Mx:σ •→) ---------------------------------I(main

•Γ¯ (λx.Mx):ρ→σ כפי שנדרש (שורה Γ¯ ├M:τ מכילה הסקה של Δכלומר •

ראשונה)τ הוא גם כן Q מצאנו שהטיפוס של M≡Qכאן •

Page 34: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

בספר(1D5הגדרות)

מבטל נקרא β (λx.M) N ►β ]N/x[Mכווץ • M לא מופיע חפשי ב x אם Nאת

מופיע x) אם N (את מכפילהכווץ נקרא •Mלכל הפחות פעמיים באופן חפשי ב

אם אף אחד לא-מכפילה נקראת βהפחתת •מהכווצים אינו מכפיל

אם אף אחד מהכווצים לא-מבטלתהיא נקראת •אינו מבטל

Page 35: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

משפט הרחבת נושא)ללא הוכחה(

עם כווץ לא P►βQ וגם Γ├Q:τאם • Γ├P:τמכפיל ולא מבטל אזי

Page 36: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

מסקנה משני המשפטים

P ►βQ סגור וגם BCIλ הוא ביטוי Pאם •Γ├ P:τ ↔ Γ├Q:τאזי

הוכחה – השתמש במשפט הכווץ בשביל להוכיח ש••Γ├Pτ => Γ├ Q:τ 1D6להלן למת עזר (לא הופיעה בהרצאה קודמת)• הוא לא מבטל λI של ביטוי β כל הפחתת • הוא גם לא BCIλ הוא לא מכפיל וכל ביטוי BCKλ כל ביטוי •

מבטל וגם לא מכפילΓ├ Q:τ => Γ├P:τאם נעזר בלמה הזו ובמשפט ההרחבה נקבל •

Page 37: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

דוגמאות כאשר תנאי משפט לא מתקימים

1דוגמא ••P►Q עלידי ביטוי כן מבטל ול Q יש טיפוס אבל ל P אין

טיפוס

•P≡(λuv.v)(λx.xx) Q=λv.v

לא תהיה TAλ ├ אבל שום הפחתה Q:a→aאזי מתקיים • ├ עבור λx.xx:(σ( ├ משום שאז הייתה הסקה P:τבצורה

וראינו שזה לא אפשרי בהרצאה קודמת.σאיזהשהוא

הבעיה היא שיש כן ביטוי מבטל בניגוד לתנאי המשפט•

Page 38: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

דוגמאות כאשר תנאי משפט לא מתקיימים)המשך(

2דוגמא ••P►Qעלידי ביטוי כן מכפיל ו ל Qיש טיפוס ,

אין טיפוס P אבל ל

I≡a→a את ביטוי הזהות I.נסמן ב •

P≡(λx.xx)I Q=IIוגם נסמן •

אין טיפוס P├ אבל ל :a→a Qאזי מתקיים • אין טיפוס x.xx λכי ל

Page 39: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

דוגמאות כאשר תנאי משפט לא מתקיימים)המשך(

•P►βQל , על ידי ביטול P ו Qאבל ל , יש טיפוסיםQ יש Pיותר טיפוסים מאשר ל

•P≡λxyz.(λu.y)(xz) ו Q≡λxyz.y

Q:a→b→c→b ├ ו ├P:(c→d)→b→c→bאפשר להראות •

הם Q ו P מראים שהטיפוסים של 3E1בהמשך הספר • פרמטר ראשון P יש יותר אפשרויות: ב Qהרשומים כאן וב

אין מגבלה כזוQחיב להיות פונקציה ב

Page 40: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

דוגמאות כאשר תנאי משפט לא מתקיימים)המשך(

•P►Q ע"י הכפלה ל P ו Q אבל ל , יש טיפוסים Q יש יותר טיפוסים מאשר ל P

•P≡(λvxyz.v(y(vxz)))I ו Q≡λxyz.I(y(Ixz))

אפשר להראות•• P:(a→b)→(b→a→b)→a→a→b ├ Q:

(a→b)→(b→c)→a→c ├

לא מקבל כל P יראה ש 3E1גם כאן שימוש ב • מופיע פעמים לכן יש מגבלה)P v (ב Qטיפוסים של

Page 41: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

דוגמאות כאשר תנאי משפט לא מתקיימים)המשך(

•P עובר η ל Q ל P Q אבל ל , יש טיפוסים Q יש יותר טיפוסים מאשר ל P.

•P≡λxy.xy Q≡λy.yאפשר לראות ש ••├P:(a→b)→a→b ├Q:a→a

├ לא אפשרית P:a→a של TAλאבל הסקה •P היא במקום של פונקציה ב xכי

Page 42: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

(Mהגדרות )סוגי

Types(M) סגורה הגדר Mהגדרה אם • ├M:τ כך ש τלהיות כל ה

לא ריק Types(M)בפרק הבא נראה שאם •-substitutionהטיפוסים שבו הם התממשות

instance( של טיפוס אחד - הטיפוס העיקרי ( הוא או ריק או Types(M). לפיכך Mשל

אנסופי

Page 43: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

למה

סגורה אזיPנניח •Types(P) subset of Types(Q) אזי P►βQ אם (1)•

עי הפחתה לא מבטלת ולא מכפילה P►βQאם ) 2(•

Types(P) = Types(Q)אזי

הוכחה לפי משפטי ההפחתה וההרחבה.(כמו •במסקנה שם)

Page 44: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הערה)שימור של המרה(

M=βNהדוגמאות מראות שלא תמיד מתקיים •=> Types(M)=Types(N)

M=βN) מקרה שבו 7A2.1למעשה נראה בעתיד (•Types(M)∩Types(N)=Φאבל

לא משתמר תחת המרה Types(M)כך ש •

לעומת זו Curryזה חסרון של מערכת הטיפוסים נוסח •Churchשל

Page 45: סמינר במדעי המחשב חורף תשסט  תורת הטיפוסים הפשוטים הבסיסית

הערה)המשך(

כך שהפגיעה לא גדולהTAλ נראה חוק נוסף ל 4בפרק • כאומר שאפליקציה של M:σ→τאם נראה את חישוב הטיפוס •

M לכל ביטוי עם הטיפוס σ הוא "בטוח" אז התכונה המעשית Mהחשובה ביותר הוא משפט הפחתת הנושא שאומר שאם ל

הוא לא יאבד את תכונת ה "בטיחות" אחרי σ→τ יש הטיפוס הפחתה

•. מופחת זה לא בעיה אלא אומר M גדלה כאשר Types(M)אם •

בטוחה יותר Mש וקרובות אליה פועלות מאד MLביחוד שפות מעשיות כמו •

בהצלחה בלי שימור בזמן המרה