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

64
1 ההההה ההההה5 5 הההההההה ההההה הההההה הההההההה ההההה הההההה ההההה ההההה ההה הההההההה ההה הההההההה22.12.08 22.12.08

Upload: gallia

Post on 16-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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

11

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

הראשיהראשי

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

22.12.0822.12.08

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

2

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

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

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

3

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

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

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

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

4

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

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

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

מוטיבציה:

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

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

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

x x

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

a a a

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

5

הטיפוס הראשי

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

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

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

ש:

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

TA

מבוא-המשך

)(AsB

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

6

הטיפוס הראשי

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

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

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

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

TA

מבוא-המשך

:M

,' :' M

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

7

הצמד הראשי

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

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

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

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

TA

מבוא-המשך

:M ,

TA:' M:M

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

8

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

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

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

TA

מבוא-המשך

:M

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

9

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

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

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

TATA

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

מבוא - המשך

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

10

substitution הצבת טיפוס -

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

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

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

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

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

11

[ ,....., ]nn

S a a

i ia

( )e

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

1{ ,....., }n

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

11

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

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

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

אם לכל .

substitution הצבת טיפוס -

ts ext)()( ts

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

למה: •

•1 (

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

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

12

substitution הצבת טיפוס -

bbssDomb )()(

ts ext

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

Restrictionצמצום -

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

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

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

13

vs

vs

i

ia

vai

v

v

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

למה:•

14

Restrictionצמצום -

)()))((|( sVarss

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

Compositionהרכבה -

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

אזי, נגדיר:

כאשר15

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

)()(}....{1

tDomsDomaahii

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

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

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

16

''''

)()(

))(())((

)()()(

tststtss

tsrtsr

tsts

tDomsDomtsDom

extextext

ext

Compositionהרכבה -

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

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

17

Composition-extension Lemma

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

אזי:

)()()(

))()(()()(

tRangerDomii

tDomsDomrDomi

tsrtsr )()(

Compositionהרכבה -

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

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

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

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

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

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

18

nbb .....1

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

].....[

1

11

n

nb

ab

as

],.....,[1

1

n

na

ba

bs

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

:למה

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

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

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

טיפוס אחר.

19

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

1s)(s

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

לדוגמא:

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

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

) (מכיוון ש

20

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

][ abaa

ba

)( baVarsa

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

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

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

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

21

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

)( s

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

Common Instances

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

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

ש-

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

22

,)(2)(1 ssv

,

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

דוגמא

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

הוא הטיפוס:

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

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

23

],)([

],,))(([

2

1

bas

cbas

abacba )(),(

)())((

,,

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

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

הגדרה:•

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

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

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

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

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

24

,0v

0v

0v , 21, ss021 )()( vss

,

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

למה:

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

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

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

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

25

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

',' , ',' ,

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

Unificationהאחדה -

26

הגדרה:

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

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

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

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

)()( ss ,

,)(s ,

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

שימו לב: •

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

ול-

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

27

Unificationהאחדה -

,

,

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

:דוגמא•

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

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

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

28

Unificationהאחדה -

aba

cba

)(

)(

)())((

],)([

],,))(([

2

1

bas

cbas

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

אולם....•

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

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

הזהות :

(למה..?)

29

Unificationהאחדה -

)()( ss

)()()( bsasas

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

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

הגדרה:•

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

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

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

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

30

, ,

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

,

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

למה:•

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

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

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

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

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

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

31

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

, ,

,

,)(u

uv ,

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

שימו

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

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

32

,

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

לדוגמא:•

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

33

שימו

accbba )(),(

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

לדוגמא:•

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

34

שימו

accbba )(),(

)],();,([

)()(:...

)],,([

)()(:..

21 cc

abbsb

baccs

bbccicgmcb

bb

abbs

bbbbugm

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

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

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

35

שימו

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

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

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

למה??

36

שימו

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

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

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

למה??

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

37

שימו

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

:למה•

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

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

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

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

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

38

,

**

*, ,

*, ,

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

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

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

39

,

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

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

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

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

.

40

,

,

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

Unification Algorithm (Robinson 1965)

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

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

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

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

41

, ,u ,

,

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

(ההצבה הריקה)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

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

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

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

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

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

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

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

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

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

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

Unification Algorithm (Robinson 1965)

v,v

n

m

ttv

ss

......

.....

1

1

vpp ts

a

,a

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

מסקנה

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

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

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

44

,

21,ss ,

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

The Principal-Type (PT) Algorithm

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

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

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

45

M

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

הוא משתנה, נניח , נבחר את להיות : 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

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

:2הצדקת שלב •

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

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

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

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

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

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

ולכן:

47

The Principal-Type (PT) Algorithm

PxPxPx

mainI )(

'':)(

':,':

Px

Px

',' 'P

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

)( Pxs

mainI )(

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

), 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

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

:3הצדקת שלב •

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

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

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

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

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

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

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

נבחר:

ולכן:

49

The Principal-Type (PT) Algorithm

PxPxPx

vacI )(

'':)(

':

Px

P

',' 'P)(' Ps

)( Pxs

]'[' dss

vacI )(

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

או 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

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

אם ו- מורכב, נניח ,: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

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

על ו- . ההפעלה תשנה את ההסקה שלהם ל: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

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

ניתן להטפסה אזי לצמד: 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

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

מוגדר היטב מכיוון שבחרנו את ו- 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

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

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

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

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

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

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

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

55

The Principal-Type (PT) Algorithm

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

PQ12

)())()(( uDomVarsVarsv Qp

)()()( QP VarsVarsrDom

)(|''

|'

'''

uDomrr

vrr

rrr

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

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

מתוך:•

הוא המאחד של:’’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

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

אם ו- אטומי, נניח ,: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

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

: 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

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

ניתן להטפסה אזי לצמד: 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

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

מוגדר היטב מכיוון ש 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

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

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

, כלומר, שדדוקציה שרירותית מתוך: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

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

,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

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

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

63

The Principal-Type (PT) Algorithm

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

64