Π£Π½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ: ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π½Π°Π½ΠΈΠΉ
Π€ΡΠ½ΠΊΡΠΈΡ IsSubst (Π', Π', t, v) ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΠ°ΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π' ΠΈ Π' Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ, Ρ. Π΅. ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ v, Π° Π²ΡΠΎΡΠΎΠΉ — ΡΠΎΡΠΌΡΠ»ΠΎΠΉ t, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ v. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π²Π½Ρ Ρ ΠΈ g (b) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ t ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ g… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π£Π½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ. Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ: ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π½Π°Π½ΠΈΠΉ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΠΉ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΌΠ΅ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΡΠ½ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ. Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ. ΠΡΠ±Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈ ΡΠ° ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΠΎΡΡΠΈΡΠ°Π½ΠΈΠ΅ΠΌ — ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΏΠ°ΡΠ° ΠΊΠΎΠ½ΡΡΠ°ΡΠ½ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ². Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠΎΠ² ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ. ΠΠ°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π°ΡΠ»ΠΈ Π΄Π²Π° Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ°, ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈ Ρ ΠΎΡΡΠΈΡΠ°Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΡΠ½Π°Ρ ΠΏΠ°ΡΠ°. Π Π°Π·Π½ΡΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ° ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π²ΡΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ΅ΡΠΌΠ°ΠΌΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ (ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ (ΡΠΌ. ΠΏ. 4.1.2)). Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π·Π°ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΡΠΎ Π½Π°Π±ΠΎΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΄Π΅Π»Π°ΡΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ (ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ), Π½ΠΎ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ 4.1), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π²Π° Π»ΠΈΡΠ΅ΡΠ°Π»Π°, ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡ Π½Π°Π±ΠΎΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΡΡΠΈΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ, Π΅ΡΠ»ΠΈ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°.
Π£ΡΠΎΡΠ½ΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
ΠΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° — ΡΡΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ°Ρ Π²ΠΈΠ΄Π° [t/vx, …, tn/vn], Π³Π΄Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΠ΅ tj/Vj Vj — ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ti — ΡΠ΅ΡΠΌ, ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΎΡ vv ΠΈ Π²ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½Ρ. ΠΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ 8.
ΠΡΡΡΡ 0 = x/vXy…, tn/vn — ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ? — ΡΠΎΡΠΌΡΠ»Π° ΠΈΠ»ΠΈ ΡΠ΅ΡΠΌ (Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅), ΡΠΎΠ³Π΄Π° ?0 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·? Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΠ΅Ρ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΌΠΎΠΌ t{ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ i, 1 Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ?0 Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ (ΠΈΠ»ΠΈ ΡΠ°ΡΡΠ½ΡΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ) ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ?.
ΠΡΡΡΡ 0 = [tx/xXy…, tn/xn ΠΈΠ₯ = ΠΈΡ /Ρ{,…, ΠΈΡ/ΡΡ — Π΄Π²Π΅ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ 0 ΠΈ X (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ 0ΠΎ? ΠΎ) Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠ°Ρ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° [txX/xv …, tnX/xn, ΠΈ{/Ρ{Ρ…, ΠΈΡ/ΡΡ] Π²ΡΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ttX/xiy Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ tiX = xi (ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π²Π½ΠΎ), ΠΈ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Uj/yjy ΡΠ°ΠΊΠΈΡ ΡΡΠΎ Ρ^ ΡΠ΅ΠΊΡΡΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ Ρ ,…, Ρ ΠΏ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ 0 = x/xx, t2/x2 = f (y)/x, z/y] iX = ujyx, u2/y2, u3/y3] = = [a/xy b/y, y/z]. Π’ΠΎΠ³Π΄Π° QoX= {X/x{y t2X/x2, Ρ/ΡΡ ΠΈ2/ΡΡ u3/y3] = [f (b)/xy y/y, a/xy b/yy y/z], ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ t2X = x2 (Ρ = y)y ΡΠΎ ΠΏΠ°ΡΠ° t2X/x2 Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΡΠ΅ΡΠΊΠ½ΡΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ{ (ΠΈΠΌΠ΅ΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ) ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Ρ Ρ (ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅), Π° Ρ2 (ΠΈΠΌΠ΅ΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ) ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Ρ 2(Ρ), ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΡΠ΅ΡΠΊΠ½ΡΡΡ ΠΈ ΠΈΡ /Ρ{Ρ ΠΈ2/Ρ2. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ 0ΠΎΠ, = |f (b)/xy y/z.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½Π°, Π° ΠΏΡΡΡΠ°Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° s ΡΠ²Π»ΡΠ΅ΡΡΡ Π»Π΅Π²ΠΎΠΉ ΠΈ ΠΏΡΠ°Π²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ΠΉ, Ρ. Π΅. (0ΠΎ?ΠΎ)ΠΎ^ = = 0o (^oQ ΠΈ 0ΠΎΠ΅ = 800 = 0.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΠΈ Π² ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠΎΠ² ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΎ Ρ ΡΠΌΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΡΠ½ΡΠ΅ ΠΏΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΡΠΎΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΠΌΡ (Π»ΠΈΡΠ΅ΡΠ°Π»Ρ). Π‘ΡΠΎΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ (Π°Π»Π³ΠΎΡΠΈΡΠΌ), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ «ΠΠΎΠ³ΡΡ Π»ΠΈ Π΄Π²Π° Π»ΠΈΡΠ΅ΡΠ°Π»Π° ΡΡΠΈΡΠ°ΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ°ΡΠΎΠΉ?» ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠ΄ΡΠ΅ΡΠΊΠ½Π΅ΠΌ ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π² ΡΡΠΎΠΌ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ΅ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ (Π·Π½Π°ΠΊ «=») ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ (ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ).
ΠΠ²Π΅Π΄Π΅ΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎΠ½ΡΡΠΈΠΉ.
ΠΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° 0 Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ Π΄Π»Ρ Π½Π°Π±ΠΎΡΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ {ΠΠΈ Π2, …, ΠΠΏ) ΡΠΎΠ³Π΄Π° ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΡ 0 = E2Q = ΠΠΏ0, ΠΏΡΠΈ ΡΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ Π½Π°Π±ΠΎΡ {fj, Π2,…, ΠΠΏ) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠΌ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π²ΠΎΠΏΡΠΎΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΠΏΠ°ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ², ΡΠΎ Π½Π°Ρ «Π½Π°Π±ΠΎΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ» Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² «Π΄Π²Π° Π»ΠΈΡΠ΅ΡΠ°Π»Π°».
Π£Π½ΠΈΡΠΈΠΊΠ°ΡΠΎΡ, Π° Π΄Π²ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ² Π { ΠΈ Π 2 Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΌ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ (Π.Π.Π£.) ΡΠΎΠ³Π΄Π° ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° 0 ΡΡΠΎΠΉ ΠΏΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠ°Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° X, ΡΡΠΎ 0 = Π°ΠΎΠ₯.
Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π΄Π²Π° Π²Π°ΠΆΠ½ΡΡ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌ.
- β’ Π ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠΎΡΠΌΡΠ»Ρ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠ°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ.
- β’ ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΡ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠ°Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π²Π΅ ΡΠΎΡΠΌΡΠ»Ρ Π (Ρ , f (a)) ΠΈ P (g (b)} Ρ) ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡ, ΠΈ ΠΈΡ II.Π.Π£. ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π°= [g (b)/x, f (a)/y][. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ P (x, f (a)) ΠΈ Π (Ρ} g (b)) Π½Π΅ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ f (a) *g (b) ΠΏΡΠΈ Π»ΡΠ±ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°Ρ ΡΠΎΡΠΌΡΠ» Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΡΠΌΡΠ»Ρ P (x, f (a)) ΠΈ P (g (b), Ρ ), ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΡΠΎΡΠΌΡΠ»Ρ f (a) ΠΈ ΡΠΎΡΠΌΡΠ»Ρ g (b) ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΡΠΎ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (Π°Π»Π³ΠΎΡΠΈΡΠΌ 4.1), ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π ΠΎΠ±ΠΈΠ½ΡΠΎΠ½ΠΎΠΌ, Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ΅. Π‘ΡΠ°Π·Ρ Π·Π°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ — Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΡΠ°ΠΌΡΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈΠ· ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ. ΠΠ° Π²Ρ ΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠ΄Π°ΡΡΡΡ Π΄Π²Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π»ΠΈΡΠ΅ΡΠ°Π»Π°) Π ΠΈ Π, Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false, Π΅ΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true ΠΈ Π.Π.Π£ Π°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ 4.1. Π£Π½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΠΌΡΠ»
proc Unify (in Π, Π; out Π°): bool, Π° := 0[1]
while ΠΠ€Π do.
[A', B'] := FisrtNeqTerms (A, B).
ifi IsSubst (A', B', t, v) then return (false) end if ct := ao[t/v].
A := Subst (A, t, v).
Π := Subst (B, t, v) end while return (true) end proc.
Π ΡΡΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
- β’ ΡΡΠ½ΠΊΡΠΈΡ FisrtNeqTerms ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΡΠΌΡΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΎΡΠΌΡΠ»Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π²Π½ΠΈΠ²Π°Ρ ΡΠΎΡΠΌΡΠ»Ρ Π (Ρ , /(a)) ΠΈ P (g (b), Ρ)), ΡΡΠ½ΠΊΡΠΈΡ FisrtNeqTerms Π²Π΅ΡΠ½Π΅Ρ ΠΏΠ°ΡΡ [.Π³, g (6)] — ΠΏΠ°ΡΡ ΡΠ°ΡΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ-,
- β’ ΡΡΠ½ΠΊΡΠΈΡ IsSubst (Π', Π', t, v) ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΠ°ΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π' ΠΈ Π' Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ, Ρ. Π΅. ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ v, Π° Π²ΡΠΎΡΠΎΠΉ — ΡΠΎΡΠΌΡΠ»ΠΎΠΉ t, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ v. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π²Π½Ρ Ρ ΠΈ g (b) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ t ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ g (b), Π° ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ v ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ;
- β’ ΡΡΠ½ΠΊΡΠΈΡ Subst (A, t, v) ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΡΠΎΡΠΌΡΠ»Ρ, Π ΡΠΎΡΠΌΡΠ»Ρ t Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅Ρ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ v. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π²Π½Ρ Π (Ρ , /(a)), g (b), Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΡΠ»Π° P (g (b), f (a)).
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ — ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° 4.1 Π΄Π»Ρ ΠΏΠ°ΡΡ ΡΠΎΡΠΌΡΠ» Π (Π°, Ρ , f (g (y))) ΠΈ P (z, f (z), f (u)). Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²ΡΠΏΠΈΡΠ°Π½Ρ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π ΠΈ Π, ΠΏΡΠΈΡΠ΅ΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ FirstNeqTerms Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΡΠΌΡΠ»Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ. Π‘ΠΏΡΠ°Π²Π° Π²ΡΠΏΠΈΡΠ°Π½ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΎΡ:
Π (Π°, Ρ , f (g (y))) P (z, /(z), /(a)) ΡΡ = [a/z].
P (a, x, f (g (y))) P (a, /(a), /(a)) ct = [a/z, f (a)/x]
P (a, /(a), f (g (y))) P (a, /(a), /(a)) ct = [a/z, f{a)/x, g (y)/u].
P (a, /(a), f (g (y))) P (a, /(a), f (g (y)))
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π·Π° ΡΠ΅ΡΡΡΠ΅ ΡΠ°Π³Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΉ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΠΎΠ»ΡΡΠ°ΡΡΡΡ ΠΈ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ — ΡΡΠΎ ΠΏΡΠΎΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ°. Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ «ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠ΅» ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅, — Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠΎΡΠΌΡΠ», ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π΄Π°ΠΆΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ — Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ½ΡΠ΄Ρ Π½Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½Ρ, ΠΈ ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡΡ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡΠ». ΠΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡΠ» Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° 4.1 Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΡΡΠΊΡΡΡΠ° ΡΠΎΡΠΌΡΠ» ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π½ΠΎ. ΠΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΠΉ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΡ ΡΠΎΡΠΌΡΠ», ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ Π² ΠΏ. 4.1.3. Π§ΡΠΎΠ±Ρ Π½Π΅ Π·Π°ΡΡΠΌΠ°Π½ΠΈΠ²Π°ΡΡ ΠΈΠ΄Π΅Ρ Π°Π» Π³ΠΎΡΠΈΡΠΌΠ°, ΠΌΡ ΠΎΡΡΠ°Π²ΠΈΠΌ Π² ΡΠ·ΡΠΊΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅[2].
Π Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ 4.2 ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΠΎΡΠΌΡΠ»Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΠΊ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΠΈΠΌΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ°, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ»ΠΈ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ), ΡΡΠ½ΠΊΡΠΈΡ var ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π΅Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° ΡΡΠ½ΠΊΡΠΈΡ args Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π³Π»Π°Π²Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°Π±ΠΎΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ (ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΎΡ) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π²ΠΈΠ΄Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° S, Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² — ΡΠΎΡΠΌΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠ»Π³ΠΎΡΠΈΡΠΌ 4.2 ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΠ΄Π΅Π΅. ΠΡΠΈ Π»ΡΠ±ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°Ρ ΡΠΎΡΠΌΡΠ» Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π³Π»Π°Π²Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ (ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ») ΡΠΎΡΠΌΡΠ»Ρ ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π³Π»Π°Π²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΡΠ» ΡΠ°Π·Π»ΠΈΡΠ½Ρ, ΡΠΎ ΡΠΎΡΠΌΡΠ»Ρ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ. Π΅. Π΅ΡΠ»ΠΈ Π³Π»Π°Π²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, ΡΠΎΡΠΌΡΠ»Ρ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ³Π΄Π° ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΡΠΌΡΠ»Ρ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠ° ΡΠ΅ΠΊΡΡΡΠΈΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΡΡΡ Ρ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΌΡΠ»ΠΎΠΉ, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ), ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΡΠΎΠΉ ΡΠΎΡΠΌΡΠ»Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ 4.2. Π Π΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΠΌΡΠ»
proc Unify (in Π, Π): bool, Π° := f (Π); b := f (Π).
// ΠΎΠ±Π΅ ΡΠΎΡΠΌΡΠ»Ρ ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ if var (Π°) & var (b) then.
if a = b then return true end if.
if S[a]=0 & S[b]*0 then S[a] := S[b] return true end if if S[b]=0 & S[a]*0 then S[b] := S[a] return true end if if S[a]* 0 & S[b]*0 then Unify (S[a], S [b ]) end if S[a] := b II ΠΈΠ»ΠΈ S (b] := a.
end if.
// ΠΎΠ΄Π½Π° ΡΠΎΡΠΌΡΠ»Π° — ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π° Π΄ΡΡΠ³Π°Ρ — Π½Π΅Ρ if var (a)v var (b) then if var (a) & aeB then return false else.
if S[a] = 0 then S[a] := B; return true else return (S[a] = B) end if end if.
if var (b) & beA then return false else.
if S [b] = 0 then S[b] := A; return true else.
return (S[b] = A) end if end if.
end if.
/ / ΠΎΠ±Π΅ ΡΠΎΡΠΌΡΠ»Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
if a*b then return false end if // Π³Π»Π°Π²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½Ρ for aeargs (A) || beargs (B) do if —I Unify (a, b) then return false end if end for return true end proc.
Π Π΄Π°Π½Π½ΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΈΠΊΠ»Π° for aeargs (Π) | | beargs (Π).
do ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ΠΏΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
- [1] ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠ³ΠΎ Π°Π»ΡΠ°Π²ΠΈΡΠ° Π°, Π¬, Ρ … ΠΌΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ Ρ , Ρ, z … ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π΄Π»Ρ ΠΈΠΌΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠΉ Π±Π΅ΡΠ΅ΠΌΠ±ΡΠΊΠ²Ρ f, g, h…
- [2] ΠΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½ΠΈΡΠ΅ΠΌ Π½Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Ρ ΠΎΡΡ ΠΈ ΡΡΠ΅Π±ΡΡΡ Π² ΠΊΠΎΠ΄Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ, ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ ΠΏΠΎΠ΄ΡΠΈΠ½ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΠΎΡΡΠΎΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»Ρ: ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΡΡΡΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.