הרצאה 5 אלגוריתם מציאת הטיפוס הראשי

Post on 16-Jan-2016

60 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

הרצאה 5 אלגוריתם מציאת הטיפוס הראשי. אנה גינזבורג 22.12.08. מבוא. המטרה של ההרצאה הנוכחית היא להראות שלכל ביטוי הניתן להטפסה קיים טיפוס ראשי. מבוא. המטרה של ההרצאה הנוכחית היא להראות שלכל ביטוי הניתן להטפסה קיים טיפוס ראשי. מהו הטיפוס הראשי?. מבוא. - PowerPoint PPT Presentation

TRANSCRIPT

11

55הרצאה הרצאה אלגוריתם מציאת הטיפוס אלגוריתם מציאת הטיפוס

הראשיהראשי

אנה גינזבורגאנה גינזבורג

22.12.0822.12.08

2

מבואהמטרה של ההרצאה הנוכחית היא להראות שלכל ביטוי

הניתן להטפסה קיים טיפוס ראשי.

3

מבואהמטרה של ההרצאה הנוכחית היא להראות שלכל ביטוי

הניתן להטפסה קיים טיפוס ראשי.

מהו הטיפוס הראשי?

4

מבואמטרת ההרצאה הנוכחית היא להראות שלכל ביטוי

הניתן להטפסה קיים טיפוס ראשי ואלגוריתם המוצא אותו.

מהו הטיפוס הראשי?

מוטיבציה:

נבחר לדוגמא את הביטוי

ניתן לייחס לו כל טיפוס מהצורה על ידי כלל הרדוקציה:

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

x x

: | : ( )| ( ):x x Ix x

a a a

5

הטיפוס הראשי

הטיפוס הראשי של ביטוי הניתן להטפסה הוא הטיפוס הכי כללי שיכול להתקבל במערכת

ולכל ביטוי הניתן להטפסה קיים ההסקה טיפוס ראשי.

הוא B אמ"מ B יותר כללי מ- Aנגיד ש- כך s. כלומר, אם קיימת הצבה Aאינסטנס של

ש:

על הצבה נדבר בקרוב...

TA

מבוא-המשך

)(AsB

6

הטיפוס הראשי

( PT: במערכת הטיפוס הראשי )הגדרה הוא טיפוס שמקיים:Mשל ביטוי

. עבור כלשהו .1

. אם קיימים כלשהם המקיימים2

אזי הוא אינסטנס )דוגמא( של .

TA

מבוא-המשך

:M

,' :' M

7

הצמד הראשי

הוא הצמד: M: הצמד הראשי עבור ביטוי הגדרה

כך ש היא ניתנת להיסק ב-

וכל נוסחה אחרת הניתנת להיסק ב- מהצורה:

, הוא אינסטנס של .

TA

מבוא-המשך

:M ,

TA:' M:M

8

הדדוקציה הראשית

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

Mשכל דדוקציה אחרת שנושא הסיום שלה הוא , היא אינסטנס של .

TA

מבוא-המשך

:M

9

לכל ביטוי הניתן להטפסה קיים כלל היסק טענה:ראשי וטיפוס ראשי ב- . בנוסף , קיים

הוא ניתן Mאלגוריתם אשר יקבע אם ביטוי- להטפסה במערכת ואם התשובה חיובית,

יחזיר את כלל ההיסק הראשי והטיפוס הראשי .Mעבור

TATA

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

מבוא - המשך

10

substitution הצבת טיפוס -

הצבת טיפוס היא רצף סופי של רכיבים:

פעולת הצבת הטיפוס היא המרת כל מופע של ב- .

הצבת הטיפוס תיקרא ריקה ונסמן אותה כך:n=0במקרה ש

Dom(S) ונסמנה Sהקבוצה תקרא התחום של

Range(S) ונסמנה Sוהקבוצה תקרא הטווח של

11

[ ,....., ]nn

S a a

i ia

( )e

1{ ,......, }na a

1{ ,....., }n

11

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

של ההצבה.kernel של ההצבה או ה-

יקראו שקולות היקפית tו- s הצבות טיפוס •)extensionally equivalent:ויסומנו (

אם לכל .

substitution הצבת טיפוס -

ts ext)()( ts

למה: •

•1 (

בעלי אותו t - וs) אם ורק אם 2•

הגרעין הלא טריוויאלי.

12

substitution הצבת טיפוס -

bbssDomb )()(

ts ext

Restrictionצמצום -

היא הצבה ו- Sצמצום , כאשר • Sקבוצת משתנים, הוא הגבלת הרכיבים של

לאלה שהתחום שלהם מעל קבוצת המשתנים . כלומר:

הצמצום הוא ההצבה המורכבת אך ורק מהרכיבים כך ש-

13

vs

vs

i

ia

vai

v

v

למה:•

14

Restrictionצמצום -

)()))((|( sVarss

Compositionהרכבה -

הן שתי הצבות טיפוס:t ו- sאם •

אזי, נגדיר:

כאשר15

])(,.....,)(,,.....,[ 1111 pphihiii bsbsaats

)()(}....{1

tDomsDomaahii

],.....,[ 11 nn aas

],.....,[ 11 pp bbt

16

''''

)()(

))(())((

)()()(

tststtss

tsrtsr

tsts

tDomsDomtsDom

extextext

ext

Compositionהרכבה -

תכונות ההרכבה:

17

Composition-extension Lemma

הן הצבות טיפוס המקיימות: r , s , tאם

אזי:

)()()(

))()(()()(

tRangerDomii

tDomsDomrDomi

tsrtsr )()(

Compositionהרכבה -

שינוי שמות משתנים

:sנתונה הצבה •

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

- אם בנוסף, עבור טיפוס נקראת "שינוי שמות משתנים" sכלשהו, אזי

בטיפוס , וכן מוגדרת ההצבה ההפוכה:

18

nbb .....1

)(}.....{ 1 Varsaa n

].....[

1

11

n

nb

ab

as

],.....,[1

1

n

na

ba

bs

:למה

הוא שינוי שמות משתנים ב אזיsאם

הוא שינוי שמות ב- .

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

טיפוס אחר.

19

שינוי שמות משתנים

1s)(s

לדוגמא:

הוא שינוי שמות עבור הטיפוס

אולם, איננה שינוי שמות עבור הטיפוס

) (מכיוון ש

20

שינוי שמות משתנים

][ abaa

ba

)( baVarsa

הגדרה: אנו אומרים ש- הוא וריאנט •אלפבתי של , או, ש- ו- זהים עד כדי sשמות משתנים, אם ורק אם קיים שינוי שמות

כלשהו עבור , כך ש .

למה: הוא וריאנט אלפבתי של אם •ורק אם ו- הם אינסטנסים האחד של השני. (דוגמאות של אותו טיפוס)

21

שינוי שמות משתנים

)( s

Common Instances

של הזוג:)c.i( אינסטנס משותף vאנו קוראים ל-

s2 ו- s1 אם ורק אם קיימות הצבות כך

ש-

יקרא זוג הצבות מתכנסות <s1,s2>במקרה זה )converging substitutions(עבור

22

,)(2)(1 ssv

,

דוגמא

האינסטנס המשותף של הזוג :

הוא הטיפוס:

כאשר טיפוסים כלשהם.

והצבות הטיפוס המתאימות הן:

23

],)([

],,))(([

2

1

bas

cbas

abacba )(),(

)())((

,,

האינסטנס המשותף הכללי ביותרm.g.c.i

הגדרה:•

) של זוג m.g.c.iהאינסטנס המשותף הכללי ביותר (הטיפוסים: הוא אינסטנס משותף

כך שכל אינסטנס משותף אחר הוא אינסטנס של

של הזוג אזי נקרא m.g.c.iאם הוא לכל זוג שמקיים:

יוצר האינסטנס המשותף הכללי ביותר עבור

של זוגות רצפים של טיפוסים m.g.c.i – * הודדוקציות מוגדר באופן דומה.

24

,0v

0v

0v , 21, ss021 )()( vss

,

למה:

- m.g.c.i ’s של אותו זוג (או יותר) של ביטוים הםזהים עד כדי שמות משתנים, כלומר הם

וריאנטים אלפבתיים.

אם הם וריאנטים אלפבתיים של -

אזי ו- הם בעלי זהים. m.g.c.i ’sאינסטנסים משותפים ו-

25

האינסטנס המשותף הכללי ביותרm.g.c.i

',' , ',' ,

Unificationהאחדה -

26

הגדרה:

כך ש - , sאם קיימת הצבת טיפוס אנו אומרים שהזוג הוא ניתן

אנו קוראים "מאחד" של sלהאחדה, להצבה הזוג ,

ול- אנו קוראים ההאחדה של .

.1כנ"ל עבור רצפים של טיפוסים באורך גדול מ-

)()( ss ,

,)(s ,

שימו לב: •

ההאחדה של היא אינסטנס משותף המושג על ידי בניית אותה הצבת טיפוס ל-

ול-

אולם, אם לזוג יש אינסטנס משותף, זה לא אומר שהזוג ניתן להאחדה.

27

Unificationהאחדה -

,

,

:דוגמא•

לזוג הטיפוסים:

קיים האינסטנס המשותף:

הנוצר ע"י הצבות הטיפוס:

28

Unificationהאחדה -

aba

cba

)(

)(

)())((

],)([

],,))(([

2

1

bas

cbas

אולם....•

כך ש- !!!sלא קיים

כזה היה מצביע על קיוםsזאת מכיוון שקיום

הזהות :

(למה..?)

29

Unificationהאחדה -

)()( ss

)()()( bsasas

המאחד הכללי ביותרm.g.u

הגדרה:•

) של הוא m.g.uהמאחד הכללי ביותר ( של s, כך שלכל מאחד אחר uהמאחד

כלשהו.’sמתקיים: עבור

כלשהו uאם עבור מאחד כללי ביותר ההאחדה vשל אזי, אנו נקרא ל- הכללית ביותר של .

של זוגות רצפים של טיפוסים m.g.u * ה ודדוקציות מוגדר באופן דומה.

30

, ,

))((')( uss )(uv ,

,

למה:•

-הטיפוס היא ההאחדה הכללית ביותר של

אם ורק אם היא האחדה של וכל ההאחדות האחרות של הם

אינסטנסים של .

הוא המאחד הכללי ביותר שלu- אם

היא הצבת שינוי שמות של משתנים ב-vו-

אזי הוא גם מאחד כללי ביותר של

31

המאחד הכללי ביותרm.g.u

, ,

,

,)(u

uv ,

שימו

ההאחדה הכללית ביותר של הזוג •יכולה להיות שונה מהאינסטנס המשותף

.)m.g.c.i(הכללי ביותר

32

,

לדוגמא:•

עבור הזוג:m.g.c.i ואת m.g.uנבדוק את

33

שימו

accbba )(),(

לדוגמא:•

עבור הזוג:m.g.c.i ואת m.g.uנבדוק את

34

שימו

accbba )(),(

)],();,([

)()(:...

)],,([

)()(:..

21 cc

abbsb

baccs

bbccicgmcb

bb

abbs

bbbbugm

אולם, במקרה הפרטי שאין משתנים משותפים •ל-

ול- מתקיים, שכל אינסטנס משותף הוא גם האחדה.

35

שימו

אולם, במקרה הפרטי שאין משתנים משותפים •ל-

ול- מתקיים, שכל אינסטנס משותף הוא גם האחדה.

למה??

36

שימו

אולם, במקרה הפרטי שאין משתנים משותפים ל-•

ול- מתקיים, שכל אינסטנס משותף הוא גם האחדה.

למה??

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

37

שימו

:למה•

-אם ל- ול- לא קיימים משתנים משותפים אזי,

אם ורק אם קיים לו m.g.uלזוג קיים m.g.c.i .והם זהים

- לכל ולכל , אם נשנה את לוריאנט אלפבתי כך של- אין משתנים

משותפים עם , אזי , ההאחדות של יהיו בדיוק האינסטנסים המשותפים של

m.g.c.i של יהיה ה- m.g.u וה- של

38

,

**

*, ,

*, ,

מהלמה בשקף הקודם נובע כי את בעית מציאת m.g.c.i עבור הזוג ניתן לצמצם

עבור אותו הזוג ללא m.g.uלבעית מציאת משתנים משותפים.

39

,

מהלמה בשקף הקודם נובע כי את בעית מציאת m.g.c.i עבור הזוג ניתן לצמצם

עבור אותו הזוג ללא m.g.uלבעית מציאת משתנים משותפים.

עבור הזוגm.g.uוכעת נעבור לאלגוריתם המוצא

.

40

,

,

Unification Algorithm (Robinson 1965)

קלט: זוג של טיפוסים.•

פלט: במקרה שהזוג ניתן להאחדה, •של . m.g.u יוחזר

אחרת, נקבל הצהרה כי הזוג

בלתי ניתן להאחדה.

41

, ,u ,

,

(ההצבה הריקה)k=0 , u=eבחר : 0צעד • , בנה את ואת- u ו- k : בהינתן k+1צעד •

והפעל את פרוצדורת ההשווה (שתינתן עוד מעט..) על .

-אם הפרוצדורה תחזיר תשובה חיובית המעידה על שוויון, האלגוריתם יסיים ויחזיר את .

-אחרת, פרוצדורת ההשוואה תחזיר את "צמד המחלוקת" , ואז:

נבדוק האם ,

-אם כן, האלגוריתם יחזיר כי הצמד אינו ניתן להאחדה.

k+2 , ונמשיך לשלב k=k+1-אחרת, נציב:

42

Unification Algorithm (Robinson 1965)

)( kk u)( kk u kk ,

kuu ,a

)(Varsa

kk uau ][1

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

של תווים. נניח:

פותח של /נשים לב שכל אחד מהתווים יכול להיות או משתנה ,או חץ או סוגרסוגריים.

-אם החזר כי הצמד זהה ועצור.

המינימאלי שבו מתקיים: .p-אחרת, בחר את ה-

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

)2A1משתנים, נבחר את הראשון ברצף – בהגדרה הנתונה בפרק

את התת מחרוזת של התו השני החל ממנו והלאה נבחר להיות .

החזר את "צמד המחלוקת" .43

Unification Algorithm (Robinson 1965)

v,v

n

m

ttv

ss

......

.....

1

1

vpp ts

a

,a

מסקנה

קיים אלגוריתם אשר מכריע אם קיים אינסטנס •משותף עבור הזוג , ואם קיים כזה, האלגוריתם יחזיר את האינסטנס המשותף

ואת הזוג - )m.g.c.i(הכללי ביותר יוצרי האינסטנס עבור .

לכל זוג טיפוסים עם אינסטנס משותף קיים •m.g.c.i .

44

,

21,ss ,

The Principal-Type (PT) Algorithm

.Mביטוי כלשהו : קלט: •

, או הצהרה כי Mדדוקציה עבור פלט: • אינו ניתן להטפסה.Mהביטוי

מקרים שונים עבור הקלט 4האלגוריתם יטפל ב- M .

45

M

הוא משתנה, נניח , נבחר את להיות : Mאם : 1מקרה •

), נניח: P הוא משתנה חפשי ב xאם וגם (: 2מקרה •

. Pנפעיל את האלגוריתם על

בלתי ניתן להטפסה.M בלתי ניתן להטפסה אזי גם P-אם

קיימת הדדוקציה , הסיום שלו חייב להיות מהצורה:P-אם ל

עבור טיפוסים : כלשהם.

נפעיל את הכלל כדי להגיע לדדוקציה :

נקרא לדדוקציה זו .

46

The Principal-Type (PT) Algorithm

xM Maxax :: PxM )(PFVx

}:,.....,:{

)(}{)(

11 ttxx

subjectsxPFV

P :,: Px

,,.....,, 1 t

mainI )( :)( Px

Px

:2הצדקת שלב •

עלינו להוכיח כי הוא כללי ביותר עבור .

נבחר את להיות דדוקציה שונה עבור . ע"פ משפט בניית

בספר ), הצעד האחרון ב- חייב להתקבל מכלל: עם 2B2 הנושא (משפט הצורה:

עבור טיפוסים כלשהם. כעת הצעדים של בונים דדוקציה

קיימת הדדוקציה ולכן, P. אולם, ל- P עבור השמת טיפוס ל-

כלשהי, ולכן בפרט: s עבור הצבה

ולכן:

47

The Principal-Type (PT) Algorithm

PxPxPx

mainI )(

'':)(

':,':

Px

Px

',' 'P

)(' Ps )('),(' ss

)( Pxs

mainI )(

), P איננו משתנה חפשי ב- x: אם וגם (3מקרה •נניח

. P אזי נפעיל אל האלגוריתם על

בלתי ניתן להטפסה.M בלתי ניתן להטפסה אזי גם הביטוי P-אם

קיימת הדדוקציה , הסיום שלה חייב להיות מהצורה:P-אם ל

dעבור טיפוסים : כלשהם. נבחר משתנה טיפוס חדש

אשר אינו קיים ב- ונפעיל את הכלל לקבלת הדדוקציה:

נקרא לדדוקציה זו .

48

The Principal-Type (PT) Algorithm

PxM )(PFVx}:.....:{),()( 11 ttxxsubjectsPFV

P:P

,,.....,1 t

vacI )(

dPx :)(

Px

P

:3הצדקת שלב •

עלינו להוכיח כי הוא כללי ביותר עבור .

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

בספר ), הצעד האחרון ב- חייב 2B2ע"פ משפט בניית הנושא (משפט

להתקבל מכלל: עם הצורה:

עבור משתנים כלשהם. כעת הצעדים של בונים דדוקציה

קיימת הדדוקציה ולכן, P. אולם, ל- Pעבור השמת טיפוס ל

כלשהי. s עבור הצבה

נבחר:

ולכן:

49

The Principal-Type (PT) Algorithm

PxPxPx

vacI )(

'':)(

':

Px

P

',' 'P)(' Ps

)( Pxs

]'[' dss

vacI )(

או P לחוד. אם Q ועל P אם נפעיל את האלגוריתם על :4מקרה •

Q בלתי ניתנים להטפסה, אזי גם M .בלתי ניתן להטפסה

שניהם ניתנים להטפסה, נניח קיימות עבורם הדדוקציות ו- Q ו Pאם

בשלב הראשון נבצע הצבת שינוי שמות על מנת לוודא כי אין בדדוקציות הללו

משתני טיפוס משותפים.

Q וב- Pבשלב הבא נרשום את המשתנים החפשיים ב-

כאשר שונים.

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

50

The Principal-Type (PT) Algorithm

PQM

PQ

0,,

},.....,,,.....,{)(

},.....,,,.....,{)(

11

11

rqp

wwvvQFV

wwuuPFV

rq

rp

rqp wwvvuu ,.....,,,.....,,,....., 111

אם ו- מורכב, נניח ,:4aתת מקרה •

אזי כללי הסיום של ו- בעלי הצורה:

על צמד הטיפוסים:)Unification Algorithm(נפעיל את אלגוריתם היוניפיקציה

אינו ניתן להטפסה.PQ-אם לצמד אין מאחד אזי

(המאחד הכללי ביותר) .m.g.u-אחרת, האלגוריתם יחזיר את

נפעיל הצבה אם צריך כדי להבטיח:

51

The Principal-Type (PT) Algorithm

PQM )(PPT )(PPT

Q P

::,.....,:,:,.....,:)(

::,.....,:,:,.....,:)(

1111

1111

Qwwvv

Pwwuu

rrqqQ

rrppP

,,.....,,,,....., 11 rr

u

)())()((

)(

),,.....,,,,.....,()( 11

uDomVarsVarsV

VuRange

VarsuDom

Qp

rr

על ו- . ההפעלה תשנה את ההסקה שלהם ל:uנפעיל את •

כאשר: וכו'...

נקבל:uועל פי הגדרת

כעת, אנו יכולים להפעיל את כלל על כללי ההסקה של

לדדוקציה המתקבלת נקרא וכלל המסקנה שלה יהיה:

52

The Principal-Type (PT) Algorithm

QP

*:*:*,.....,:*,:*,.....,:)(

**:*:*,.....,:*,:*,.....,:)(

1111

1111

Qwwvv

Pwwuu

rrqqQ

rrppP

)(* 11 u***,**,.....,* 11 rr

)( E)(),( QP uu PQ

*:*:*,.....,:*,:*,.....,:*,:*,.....,: 111111 PQwwvvuu rrqppp

ניתן להטפסה אזי לצמד: PQ קודם כל נראה שאם :4a הצדקת שלב •

קיים מאחד:

ניתן להטפסה, אזי, קיימת דדוקציה שהמסקנה שלה מהצורה: PQאם

בספר), היה חייב להיבנות ע"י הפעלת 2B2ע"פ משפט בניית הנושא (כלל על שתי הדדוקציות:

ו- P עבור טיפוס כלשהו. אבל, ו- הן דדוקציות כלליות עבור Q.

כך ש: r1 , r2 לכן, עבור הצבות

53

The Principal-Type (PT) Algorithm

,,.....,,,,....., 11 rr

::,.....,:,:,.....,:,:,.....,: 111111 PQwwvvuu rrqqpp

)( E

::,.....,:,:,.....,:)(

::,.....,:,:,.....,:)(

11112

11111

Qwwvv

Pwwuu

rrqq

rrpp

PQ)(),( 2211 QP rr

)()(),()( 21 QP VarsrDomVarsrDom

מוגדר היטב מכיוון שבחרנו את ו- r להיות: (rנבחר את

כך שאין להם משתנים משותפים ) . לכן,

נסתכל על : ב:

ע"י השוואה ל-

כיוון ש- אנו נקבל

וע"י השוואת :

ו-

כיוון ש- אנו נקבל

r . 54לכן, לצמד קיים מאחד

The Principal-Type (PT) Algorithm

21 rrr PQ

)()()(

)(),( 21

QP

QP

VarsVarsrDom

rr

,,.....,1 t ::,.....,:,:,.....,:)( 11111 Pwwuu rrpp

::,.....,:,:,.....,:)( 1111 Pwwuu rrppP

)(1 Pr )(),(),.....,(,,....., 11 rrr rr

::,.....,:,:,.....,:)( 11112 Qwwvv rrqq ::,.....,:,:,.....,:)( 1111 Qwwvv rrqqQ

)(2 Qr )(),(),.....,(,,....., 11 rrr rr

,,.....,,,,....., 11 rr

כעת נראה שאם לצמד קיים מאחד אזי

, כלומר, שדדוקציה שרירותית מתוך:PQ הוא כללי ביותר עבור

הוא אינסטנס של .

כפי שעשינו בשקף הקודם.rלכל כזאת נגדיר , ו-

מתוך ההגדרות:

כך : rנוכל לבטא את

55

The Principal-Type (PT) Algorithm

PQ ::,.....,:,:,.....,:,:,.....,: 111111 PQwwvvuu rrqqpp

PQ12

)())()(( uDomVarsVarsv Qp

)()()( QP VarsVarsrDom

)(|''

|'

'''

uDomrr

vrr

rrr

,,.....,,,,....., 11 rr

מתוך:•

הוא המאחד של:’’rנסיק כי

הוא המאחד הכללי ביותר שהוחזר ע"י אלגוריתם היוניפיקציה.)u(*נזכור כי

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

נקבל:r ולכן, ,וע"פ הגדרת

שקיבלנו, נסיק:r וה- Composition-extension Lemma לפי

וכעת ע"פ הגדרת נקבל:

הוא צרוף של ע"פ כלל ו- צרוף דומה של

56 נקבל:

The Principal-Type (PT) Algorithm

),,.....,,,,.....,()( 11 rrVarsuDom

)(),(),.....,(,,....., 11 rrr rr

)(),(),.....,(,,....., 11 rrr rr

,,.....,,,,....., 11 rr

))(()('' ausar )(uDoma)()( uRangesDom usr ext '')(' usrr ext

usrr ext )'( 21,

))()('(

))()('(

2

1

Q

P

usr

usr

21,)( EPQ)(),( QP uu

))('( PQsr

אם ו- אטומי, נניח ,:4bתת מקרה •

אזי המסקנה של ו- בעלת הצורה:

נבחר משתנה

על צמד הטיפוסים:)Unification Algorithm(ונפעיל את אלגוריתם היוניפיקציה

אינו ניתן להטפסה.PQ-אם לצמד אין מאחד אזי

(המאחד הכללי ביותר) .m.g.u-אחרת, האלגוריתם יחזיר את

נפעיל הצבה אם צריך כדי להבטיח:

57

The Principal-Type (PT) Algorithm

PQM )(PPTbPPT )(Q P

::,.....,:,:,.....,:)(

::,.....,:,:,.....,:)(

1111

1111

Qwwvv

bPwwuu

rrqqQ

rrppP

cb rr ,,.....,,,,....., 11

u

)())()((

)(

),,.....,,,,.....,()( 11

uDomVarsVarsV

VuRange

cbVarsuDom

Qp

rr

)()( QP VarsVarsc

: u על ו- . ע"פ הגדרת uנפעיל את •

ההפעלה תשנה את ההסקה שלהם ל:

כאשר: וכו'...

נקבל:uועל פי הגדרת

כעת, אנו יכולים להפעיל את כלל על כללי ההסקה של

לדדוקציה המתקבלת נקרא וכלל המסקנה שלה יהיה:

58

The Principal-Type (PT) Algorithm

QP

*:*:*,.....,:*,:*,.....,:)(

**:*:*,.....,:*,:*,.....,:)(

1111

1111

Qwwvv

cPwwuu

rrqqQ

rrppP

)(* 11 u***,.....,* 11 rr

)( E)(),( QP uu PQ

*:*:*,.....,:*,:*,.....,:*,:*,.....,: 111111 cPQwwvvuu rrqqpp

)()()()( cuucubu

ניתן להטפסה אזי לצמד: PQ קודם כל נראה שאם :4b הצדקת שלב •

.קיים מאחד

ניתן להטפסה, אזי, קיימת דדוקציה שהמסקנה שלה מהצורה: PQאם

בספר), היה חייב להיבנות ע"י הפעלת 2B2ע"פ משפט בניית הנושא (: שהמסקנות שלהן כלל על שתי הדדוקציות

ו- P עבור טיפוס כלשהו. אבל, ו- הן דדוקציות כלליות עבור Q.

כך ש:r1 , r2 לכן, עבור הצבות

נשים לב שבפרט: 59

The Principal-Type (PT) Algorithm

cb rr ,,.....,,,,....., 11

::,.....,:,:,.....,:,:,.....,: 111111 PQwwvvuu rrqqpp

)( E

::,.....,:,:,.....,:)(

::,.....,:,:,.....,:)(

11112

11111

Qwwvv

Pwwuu

rrqq

rrpp

PQ)(),( 2211 QP rr

)()(),()( 21 QP VarsrDomVarsrDom

21,

)(),( 11 rbr

מוגדר היטב מכיוון ש r להיות: (rנבחר את

) . לכן,

נסתכל על : ב:

אנו נקבל

. rלכן, לצמד קיים המאחד

60

The Principal-Type (PT) Algorithm

][21 crrr

}{)()()(

)()(

)(),( 21

cVarsVarsrDom

crbr

rr

QP

QP

,,.....,1 t ::,.....,:,:,.....,:)( 1111 Pwwuu rrppP

)(),(),.....,(,,....., 11 brrr rr

)(),(),.....,(,,....., 11 crrr rr

,,.....,,,,....., 11 rr

)(),()( 21 crrDomrDomc

כעת נראה שאם לצמד קיים מאחד אזי,

, כלומר, שדדוקציה שרירותית מתוך:PQהוא כללי ביותר עבור

הוא אינסטנס של .

כפי שעשינו בשקף הקודם.rלכל כזאת נגדיר , ו-

מתוך:

כך : rנוכל לבטא את

61

The Principal-Type (PT) Algorithm

PQ ::,.....,:,:,.....,:,:,.....,: 111111 PQwwvvuu rrqqpp

PQ

12)())()(( uDomVarsVarsV Qp

)()()( QP VarsVarsrDom

)(|''

|'

'''

uDomrr

vrr

rrr

cb rr ,,.....,,,,....., 11

,4aבאותו אופן כמו בהצדקת מקרה •

הוא המאחד של:’’rנסיק כי

כלשהי, שמקיימת sו- עבור הצבה

לכן,

שקיבלנו, נסיק:r וה- Composition-extension Lemmaלפי

נסיק: 4aושוב בדומה להצדקת מקרה

62

The Principal-Type (PT) Algorithm

cb rr ,,.....,,,,....., 11

)()( uRangesDom usr ext '')(' usrr ext

usrr ext )'( ))('( PQsr

זהו... עברנו על כל השלבים של האלגוריתם •והוכחנו את נכונותם!

63

The Principal-Type (PT) Algorithm

64

top related