рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╡рд┐рдЪрд╛рд░, рдПрдХ рдЫреЛрдЯреА рдпреЛрдЬрдирд╛ рдФрд░ рд▓рд┐рдВрдХ z6Dabrata habrayuzer рджреНрд╡рд╛рд░рд╛ рдореБрдЭреЗ рд╕реМрдВрдкреЗ рдЧрдП , рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж редрдкрд╣рд▓реЗ рднрд╛рдЧ рдиреЗ рд╣рдореЗрдВ рдПрдХ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╡рд┐рдЪрд╛рд░ рджрд┐рдпрд╛ рдХрд┐ рд▓реИрдореНрдмреНрдбрд╛ рдХреИрд▓рдХреБрд▓рд╕ рдХреНрдпрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдЕрднреНрдпрд╛рд╕-рдЕрднреНрдпрд╛рд╕-рдЕрднреНрдпрд╛рд╕ рдпреЛрдЧ рдЖрдЬреНрдЮрд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред
рдЪрд░реНрдЪ рдмреБрд▓рд┐рдпрди рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╢реБрджреНрдз рд╢реБрджреНрдз рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реИрдореНрдмреНрдбрд╛ рдХреИрд▓рдХреБрд▓рд╕ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рдЧрд╛рдпрдм рд╣реИред рддреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдпрд╛ рдмреВрд▓рд┐рдпрди рдореВрд▓реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реА рдкреНрд░рд╛рдердорд┐рдХ рдЪреАрдЬреЗрдВ рднреА рд╕реНрд╡рдпрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдХреБрдЫ рд╕рдХреНрд░рд┐рдп рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдХреЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕реА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧреАред
рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
True
рдФрд░
False
ред рдЗрди рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдкрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рджреЛ рд╢рдмреНрдж рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
tru = ╬╗t.╬╗f.t | рдПрдХ рджреЛ-рддрд░реНрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рджреЗрддрд╛ рд╣реИ |
fls = ╬╗t.╬╗f.f | рдПрдХ рджреЛ-рддрд░реНрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рд╣рдореЗрд╢рд╛ рджреВрд╕рд░рд╛ рддрд░реНрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИ |
if
рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреВрд▓рд┐рдпрди рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд▓рд┐рдП
if
рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
if = ╬╗b. ╬╗x. ╬╗y.bxy
рдпрд╣рд╛рдБ
b
tru
рдпрд╛
fls
,
x
then
,
then
y
рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛:
if fls te
рдЪреВрдВрдХрд┐
if
рд╕реНрдерд┐рддрд┐ рдЭреВрдареА рд╣реИ (
fls
), рддреЛ
else
рд╢рд╛рдЦрд╛ рд╕реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ
e
) рдХреЛ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
(╬╗b. ╬╗x. ╬╗y. bxy) fls te | рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ if |
(╬╗x. ╬╗y. fls xy) te | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
(╬╗y. fls ty) e | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
fls te | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
(╬╗t.╬╗f. f) t e | рдкрд░рд┐рднрд╛рд╖рд╛ fls рджреНрд╡рд╛рд░рд╛ |
(╬╗f. f) e | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
e | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
рдмреБрдирд┐рдпрд╛рджреА рдмреВрд▓рд┐рдпрди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрдпреЛрдЬрди (рдПрдХ рддрд╛рд░реНрдХрд┐рдХ "рдФрд░") рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
and = ╬╗x. ╬╗y. xy fls
and
рджреЛ рдмреВрд▓рд┐рдпрди рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
x
рдФрд░
y
ред рдкрд╣рд▓рд╛
x
(рдХрд░реА) рд╣реИред рдпрджрд┐ рдпрд╣
tru
(рдХрдЯреМрддреА рдХреЗ рдмрд╛рдж
tru y fls
) рд╣реИ, рддреЛ
y
рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕реЗ рддрдм рд╕рддреНрдп рдХреЗ рд▓рд┐рдП рднреА рдЬрд╛рдВрдЪрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЕрдВрддрд┐рдо
tru
рдХреЗрд╡рд▓ рддрднреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдЬрдм
x
рдФрд░
y
рджреЛрдиреЛрдВ "рд╕рддреНрдп" рд╣реЛрдВред рдЕрдиреНрдп рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ, рдЬрд╡рд╛рдм
fls
ред
рд╡реНрдпрд╛рдпрд╛рдорддрд╛рд░реНрдХрд┐рдХ "рдпрд╛ рддреЛ" рдФрд░ "рдирд╣реАрдВ" рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред
рдЬрд╡рд╛рдм рд╣реИor = ╬╗x.╬╗y. x tru y
not = ╬╗x. x fls tru
рдЪрд░реНрдЪ рдирдВрдмрд░
рд╣рдо рдХреЗрд╡рд▓ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдПрдирдХреЛрдб рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо
рдкреАрдиреЛ рдХреЗ рд╕реНрд╡рдпрдВрд╕рд┐рджреНрдзреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдЗрдХрд╛рдИ, рджреЛ, рдЖрджрд┐ рдЬреИрд╕реЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рджрд░рдЕрд╕рд▓, рдпрд╣ рд▓реИрдореНрдмреНрдбрд╛ рдХреИрд▓рдХреБрд▓рд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ: рдЗрд╕рдХреА рд╢рд░реНрддреЛрдВ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╕рдВрд╕реНрдерд╛рдУрдВ рдореЗрдВ рдЖрддреНрдордирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ
рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдкрдирд╛рддреА рд╣реИрдВред
рддреЛ, рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рджреЛ рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ: рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдФрд░ рдЕрдЧрд▓реЗ рддрддреНрд╡ (
рдПрдХ рдлреЙрд▓реЛ-рдЕрдк рдлрд╝рдВрдХреНрд╢рди ) рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдПрдХ рдлрд╝рдВрдХреНрд╢рди ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рдкрд░ рдЕрдиреБрд╡рд░реНрддреА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдирдХреЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
0 тЙб ╬╗s.╬╗z. z | рдлрд╝рдВрдХреНрд╢рди s рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди z рд╢реВрдиреНрдп рд╕рдордп рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ |
1 тЙб ╬╗s.╬╗z. sz | рдлрд╝рдВрдХреНрд╢рди s рдХреЛ z рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рдкрд░ рдПрдХ рдмрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ |
2 тЙб ╬╗s.╬╗z. s (sz) | рдлрд╝рдВрдХреНрд╢рди s рдХреЛ z рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рдкрд░ рджреЛ рдмрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ |
... | рдФрд░ рдЗрд╕реА рддрд░рд╣ |
рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рд╢реВрдиреНрдп рддрд╛рд░реНрдХрд┐рдХ рдлрд╛рд▓реНрд╕ рдХреЗ рд╕рдорд╛рди рд╣реИред рдлрд┐рд░ рднреА, рдХрд┐рд╕реА рдХреЛ рдЗрд╕рд╕реЗ рджреВрд░рдЧрд╛рдореА рдирд┐рд╖реНрдХрд░реНрд╖ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП: рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдВрдпреЛрдЧ рд╣реИред
рдлреЙрд▓реЛ рдлрдВрдХреНрд╢рди рдХрд╛ рдХрд╛рдо рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдирдВрдмрд░ рдореЗрдВ рдПрдХ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдпрд╛рдиреА рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рд╡рд╣ рдореВрд▓реНрдп рд▓реЗрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рджреЛ рддрд░реНрдХреЛрдВ рдХрд╛ рдХрд╛рд░реНрдп рднреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХреБрд▓ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди
(+1)
рдореЗрдВ рддреАрди рддрд░реНрдХ рд╣реИрдВ: рдкрд┐рдЫрд▓реЗ рдЪрд░реНрдЪ рдирдВрдмрд░
n
, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рдХреЗ рд▓рд┐рдП
n+1
рдмрд╛рд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рд╕реНрд╡рдпрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
scc = ╬╗n. ╬╗s. ╬╗z. s (nsz)
рдпрд╣рд╛рдБ
nsz
z
рд╕рдордп рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдлрд╝рдВрдХреНрд╢рди рд╣реИред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕реЗ
n+1
рдмрд╛рд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рд╕реНрдкрд╖реНрдЯ
s (nsz)
рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдореЗрдВ "рдпреВрдирд┐рдЯ" рд╕реЗ
one = ╬╗s.╬╗z. sz
рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
one = ╬╗s.╬╗z. sz
one = ╬╗s.╬╗z. sz
"рджреЛ"
two = ╬╗s.╬╗z. s (sz)
two = ╬╗s.╬╗z. s (sz)
ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:
scc one s' z' | s' рдФрд░ z' - рдЪрд░ рдирд╛рдо рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ |
(╬╗n. ╬╗s. ╬╗z. s (nsz)) one s' z' | рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ |
(╬╗s. ╬╗z. s (one sz)) s' z' | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
(╬╗z. s' (one s' z)) z' | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
s' (one s' z') | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
s' ( (╬╗s.╬╗zред sz) s' z ') | рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ |
s' ( (╬╗z. s' z) z' ) | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
s' (s' z') | рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрдореА |
two s' z' | рдкрд░рд┐рднрд╛рд╖рд╛ two |
рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛
рджреЛ рдЪрд░реНрдЪ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рджреЛ рд╢рдмреНрдж рд╣реЛрдВрдЧреЗ:
x
рдФрд░
y
, рдЬрд┐рд╕рдХреЗ рдмрджрд▓реЗ рдореЗрдВ рджреЛ рддрд░реНрдХ рднреА рд╣реИрдВ -
s
(рдЕрдиреБрд╡рд░реНрддреА рдХрд╛рд░реНрдп) рдФрд░
z
(рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп)ред рдЬреЛрдбрд╝ рдкрд╣рд▓реЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
z
x
рд╕рдордп рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдПрдХ рдФрд░
y
рд╕рдордпред
plus = ╬╗x. ╬╗y. ╬╗s. ╬╗z. xs (ysz)
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ,
one = ╬╗s.╬╗z. sz
рдЬреЛрдбрд╝реЗрдВред
one = ╬╗s.╬╗z. sz
рдФрд░
two = ╬╗s.╬╗z. s (sz)
two = ╬╗s.╬╗z. s (sz)
ред рдЬрд╡рд╛рдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
three = ╬╗s.╬╗z. s (s (sz))
three = ╬╗s.╬╗z. s (s (sz))
ред
plus one two s' z' | s' рдФрд░ z' - рдЪрд░ рдирд╛рдо рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ |
(╬╗x. ╬╗y. ╬╗s. ╬╗z. xs (ysz)) one two s' z' | рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ plus |
one s' (two s' z') | рдХрдореА рдХреЗ рдмрд╛рдж |
(╬╗s.╬╗z. sz) s' (two s' z') | рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ |
s' (two s' z') | рдХрдореА рдХреЗ рдмрд╛рдж |
s' (( ╬╗s.╬╗z. s (sz) s' z') | рдкрд░рд┐рднрд╛рд╖рд╛ two |
s' (s' (s' z')) | рдХрдореА рдХреЗ рдмрд╛рдж |
three s' z' | рдкрд░рд┐рднрд╛рд╖рд╛ three |
рдЧреБрдгрди
рдЧреБрдгрди рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ,
x
рдХреЛ
y
рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ
y
x
рдкреНрд░рддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝рдирд╛ред
times = ╬╗x. ╬╗y. x (plus y) z
plus
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдЪрд░реНрдЪ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЧреБрдгрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред рдЙрдирдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЙрддреНрдкрд╛рдж
x
рдФрд░
y
рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
y
рдЖрдкрдХреЛ
x
рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди
x
рд▓рд╛рдЧреВ рдлрдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
times' = ╬╗x.╬╗y.╬╗s.╬╗z. x (ys) z
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо
two = ╬╗s.╬╗z. s (sz)
рдЧреБрдгрд╛
two = ╬╗s.╬╗z. s (sz)
two = ╬╗s.╬╗z. s (sz)
рджреНрд╡рд╛рд░рд╛
three = ╬╗s.╬╗z. s (s (sz))
three = ╬╗s.╬╗z. s (s (sz))
ред рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдлреЙрд░реНрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
six = ╬╗s.╬╗z. s (s (s (s (s (sz)))))
six = ╬╗s.╬╗z. s (s (s (s (s (sz)))))
ред
times' two three s' z' | s' рдФрд░ z' - рдЪрд░ рдирд╛рдо рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ |
(╬╗x.╬╗y.╬╗s.╬╗z. x (ys) z) two three s' z' | рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ times' |
two (three s') z' | рдХрдореА рдХреЗ рдмрд╛рдж |
(╬╗s.╬╗z. s (sz)) (three s') z' | рдкрд░рд┐рднрд╛рд╖рд╛ two |
three s' ((three s') z') | рдХрдореА рдХреЗ рдмрд╛рдж |
(╬╗s.╬╗z. s (s (sz))) s' ((three s') z') | рдкрд░рд┐рднрд╛рд╖рд╛ three |
s' (s' (s' ((three s') z'))) | рдХрдореА рдХреЗ рдмрд╛рдж |
s' (s' (s' (((╬╗s.╬╗z. s (s (sz))) s') z'))) | рдкрд░рд┐рднрд╛рд╖рд╛ three |
s' (s' (s' (( (╬╗z. s' (s' (s' z))) z' ))) | рдХрдореА рдХреЗ рдмрд╛рдж |
s' (s' (s' (s' (s' (s' z'))))) | рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдХрдореА рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░реЗрдВ |
six s' z' | рдкрд░рд┐рднрд╛рд╖рд╛ six |
рд╡реНрдпрд╛рдпрд╛рдордХрд┐рд╕реА рд╢рдХреНрддрд┐ рдХреЛ рд╢рдХреНрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдмреНрдж рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
рдЬрд╡рд╛рдм рд╣реИy
рдХреА рд╢рдХреНрддрд┐ рдХреЗ рд▓рд┐рдП x
рд▓рд┐рдП:
power = ╬╗x.╬╗y.╬╗s.╬╗z . yxsz
рдЕрдВрддрд┐рдо рд▓рдВрдмрд┐рдд рдСрдкрд░реЗрд╢рди рдШрдЯрд╛рд╡ рд╣реИ - рдЪрд░реНрдЪ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рд╕рдмрд╕реЗ рддреБрдЪреНрдЫ рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдмрд┐рдиреНрдпрд╛рдореАрди рдкреАрдпрд░реНрд╕ рдХреА рдкреБрд╕реНрддрдХ
"рдкреНрд░рдХрд╛рд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛" рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬреЛ рд▓реЛрдЧ рдЪрд╛рд╣реЗрдВ, рд╡реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реИрдореНрдмреНрдбрд╛ рдХреИрд▓рдХреБрд▓рд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХреА рдХрдореНрдкреЗрдВрдбрд┐рдпрдо рд╕реЗ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджреНрдзрд░рдг: тАЬрдпрджрд┐ рдЖрдк рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВред рдШрдЯрд╛рд╡ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХреНрд▓реЗрди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдЬреНрдЮрд╛рди рджрд╛рдВрдд рдирд┐рдХрд╛рд▓рд╛ рдерд╛ред рдФрд░ рдЕрдм рдПрдиреЗрд╕реНрдереАрд╕рд┐рдпрд╛ рдПрдХ рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реИред тАЭ
рдирд┐рд╖реНрдХрд░реНрд╖
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реИрдореНрдмреНрдбрд╛ рдХреИрд▓рдХреБрд▓рд╕ рдореЗрдВ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ: рдпрд╣ рд╕рднреА рдкреНрд░рд╛рдердорд┐рдХ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдХрдЯреМрддреА рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕реЗ рдЙрдкрдХрд░рдг рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕реЗрдЯ рд╕рдХреНрд░рд┐рдп рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдЬреЛ рдЬреЛрдбрд╝реЗ, рд╕реВрдЪреА, рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдпреЛрдВ рдЖрджрд┐ рдЬреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдмрд▓реНрдХрд┐ рдмреЛрдЭрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, ╬╗-рдкрдерд░реА рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдЕрдзреНрдпрдпрди рдФрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╣реИред рдЬрд┐рд╕рдХреЗ рд╕рд╛рде, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдореИрдереБрди рдХрд░рддрд╛ рд╣реИред
рд╕реВрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА
- "рд▓реИрдореНрдмреНрдбрд╛ рдХреИрд▓рдХреБрд▓рд╕ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП?", рдПрд░реНрдХреА рд▓рд┐рдВрдбрдкреЗрд░реЗ
- рдкреНрд░рдХрд╛рд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдБ, рдмреЗрдВрдЬрд╛рдорд┐рди рдкрд┐рдпрд░реНрд╕
- рд╡рд┐рдХреА рд╕рдВрдЧреНрд░рд╣ "рд▓реИрдВрдмрдбрд╛ рдХреИрд▓рдХреБрд▓рд╕"
- "рд╣рд╛рд╕реНрдХреЗрд▓ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓", рдПрдВрдЯреЛрди рдЦреЛрд▓реЛрдореАрд╡
- рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛рди