הרצאה 5 אלגוריתם מציאת הטיפוס הראשי
Post on 16-Jan-2016
60 Views
Preview:
DESCRIPTION
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