ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π’Π°Π·ΠΈ статия Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Бтанфордски сСминар. Но ΠΏΡ€Π΅Π΄ΠΈ нСя ΠΌΠ°Π»ΠΊΠΎ въвСдСниС. Как сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚ Π·ΠΎΠΌΠ±ΠΈΡ‚Π°Ρ‚Π°? ВсСки Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π» Π² ситуация, Π² която иска Π΄Π° ΠΈΠ·Π΄ΡŠΡ€ΠΏΠ° приятСл ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π΅Π³Π° Π΄ΠΎ Π½ΠΈΠ²ΠΎΡ‚ΠΎ си, Π½ΠΎ Π½Π΅ сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°. И Π½Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° с вас, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ с Π½Π΅Π³ΠΎ β€žΠ½Π΅ сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°β€œ: ΠΎΡ‚ Π΅Π΄Π½Π°Ρ‚Π° страна Π½Π° скалата Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π½Π°Ρ‚Π° Π·Π°ΠΏΠ»Π°Ρ‚Π°, Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ, Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° Π΅ нСобходимостта Π΄Π° сС мисли. ΠœΠΈΡΠ»Π΅Π½Π΅Ρ‚ΠΎ Π΅ нСприятно ΠΈ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΎ. Π’ΠΎΠΉ Π±ΡŠΡ€Π·ΠΎ сС ΠΎΡ‚ΠΊΠ°Π·Π²Π° ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° пишС ΠΊΠΎΠ΄, Π±Π΅Π· ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° мозъка си. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡΡ‚Π΅ си ΠΊΠΎΠ»ΠΊΠΎ усилия са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° прСодоляванС Π½Π° Π±Π°Ρ€ΠΈΠ΅Ρ€Π°Ρ‚Π° Π½Π° Π·Π°ΡƒΡ‡Π΅Π½Π°Ρ‚Π° бСзпомощност ΠΈ просто Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅. Π’Π°ΠΊΠ° сС ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚ Π·ΠΎΠΌΠ±ΠΈΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π»Π΅ΠΊΡƒΠ²Π°Π½ΠΈ, Π½ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ Π½ΠΈΠΊΠΎΠΉ няма Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ.

ΠšΠΎΠ³Π°Ρ‚ΠΎ видях Ρ‚ΠΎΠ²Π° ЛСсли Π›Π°ΠΌΠΏΠΎΡ€Ρ‚ (Π΄Π°, ΡΡŠΡ‰ΠΈΡΡ‚ Π΄Ρ€ΡƒΠ³Π°Ρ€ ΠΎΡ‚ ΡƒΡ‡Π΅Π±Π½ΠΈΡ†ΠΈΡ‚Π΅) ΠΈΠ΄Π²Π° Π² Русия ΠΈ Π½Π΅ ΠΏΡ€Π°Π²ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄, Π° сСсия с Π²ΡŠΠΏΡ€ΠΎΡΠΈ ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ, бях ΠΌΠ°Π»ΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΏΠ°Π·Π»ΠΈΠ². Π—Π° всСки случай, ЛСсли Π΅ свСтовноизвСстСн ΡƒΡ‡Π΅Π½, Π°Π²Ρ‚ΠΎΡ€ Π½Π° Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ²Π΅ ΠΏΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ изчислСния ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ ΠΈ ΠΏΠΎ Π±ΡƒΠΊΠ²ΠΈΡ‚Π΅ La Π² Π΄ΡƒΠΌΠ°Ρ‚Π° LaTeX - β€œLamport TeX”. Вторият Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ΅Π½ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π΅ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ изискванС: всСки, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ΄Π²Π°, трябва (напълно Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ) Π΄Π° ΠΈΠ·ΡΠ»ΡƒΡˆΠ° няколко ΠΎΡ‚ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡ‚Π΅ ΠΌΡƒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ, Π΄Π° измисли ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Π²ΡŠΠΏΡ€ΠΎΡ към тях ΠΈ Π΅Π΄Π²Π° Ρ‚ΠΎΠ³Π°Π²Π° Π΄Π° Π΄ΠΎΠΉΠ΄Π΅. Π Π΅ΡˆΠΈΡ… Π΄Π° видя ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠ·Π»ΡŠΡ‡Π²Π° Π›Π°ΠΌΠΏΠΎΡ€Ρ‚ Ρ‚Π°ΠΌ - ΠΈ Π΅ супСр! Π’ΠΎΠ²Π° Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ, магичСската Π²Ρ€ΡŠΠ·ΠΊΠ°-Ρ…Π°ΠΏΡ‡Π΅ Π·Π° Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π·ΠΎΠΌΠ±ΠΈΡ‚Π°. ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π²Π°ΠΌ Π²ΠΈ: ΠΎΡ‚ тСкста Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° супСр-гъвкави ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΎΠ±ΠΈΡ‡Π°Ρ‚ Π΄Π° тСстват написаното, ΠΌΠΎΠ³Π°Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° изгорят.

Π‘Π»Π΅Π΄ habrokat Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π·Π°ΠΏΠΎΡ‡Π²Π° ΠΏΡ€Π΅Π²ΠΎΠ΄Π° Π½Π° сСминара. Наслади сС Π½Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ!

ΠšΠ°ΠΊΠ²Π°Ρ‚ΠΎ ΠΈ Π·Π°Π΄Π°Ρ‡Π° Π΄Π° ΠΏΠΎΠ΅ΠΌΠ΅Ρ‚Π΅, Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ ΠΏΡ€Π΅Π· Ρ‚Ρ€ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ:

  • Ρ€Π΅ΡˆΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²Π° Ρ†Π΅Π» искатС Π΄Π° постигнСтС;
  • Ρ€Π΅ΡˆΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊ Ρ‰Π΅ постигнСтС Ρ†Π΅Π»Ρ‚Π° си;
  • Π΅Π»Π°Ρ‚Π΅ Π΄ΠΎ Ρ†Π΅Π»Ρ‚Π° си.

Π’ΠΎΠ²Π° Π²Π°ΠΆΠΈ ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ. ΠšΠΎΠ³Π°Ρ‚ΠΎ пишСм ΠΊΠΎΠ΄, трябва Π΄Π°:

  • Ρ€Π΅ΡˆΠΈ ΠΊΠ°ΠΊΠ²ΠΎ трябва Π΄Π° ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°;
  • ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ трябва Π΄Π° изпълнява Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° си;
  • Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ ΠΊΠΎΠ΄.

ΠŸΠΎΡΠ»Π΅Π΄Π½Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π°, Π½ΠΎ няма Π΄Π° говоря Π·Π° нСя днСс. ВмСсто Ρ‚ΠΎΠ²Π° Ρ‰Π΅ обсъдим ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ Π΄Π²Π΅. ВсСки програмист Π³ΠΈ изпълнява ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°. НС сядатС Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅, освСн Π°ΠΊΠΎ Π½Π΅ стС Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π΄Π°Π»ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ ΠΈΠ»ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Врябва Π΄Π° ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° прСдстава Π·Π° Ρ†Π΅Π»Ρ‚Π°. И ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ мислитС ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΈ Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ с Π½Π°Π΄Π΅ΠΆΠ΄Π°Ρ‚Π°, Ρ‡Π΅ ΠΊΠΎΠ΄ΡŠΡ‚ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Ρ‰Π΅ сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π΅ Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€.

Как Ρ‚ΠΎΡ‡Π½ΠΎ сС случва Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ обмислянС Π½Π° ΠΊΠΎΠ΄Π°? Колко усилия трябва Π΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Π·Π° Ρ‚ΠΎΠ²Π°? Всичко зависи ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ слоТСн Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅. Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ искамС Π΄Π° напишСм устойчива Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° систСма. Π’ Ρ‚ΠΎΠ·ΠΈ случай трябва Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ Π΄Π° обмислим Π½Π΅Ρ‰Π°Ρ‚Π°, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° сСднСм Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΠΌΠ΅. Ами Π°ΠΊΠΎ просто трябва Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ цСлочислСна ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° с 1? На ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Ρ‚ΡƒΠΊ всичко Π΅ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π½ΠΎ ΠΈ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС мисли, Π½ΠΎ Ρ‚ΠΎΠ³Π°Π²Π° си спомнямС, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° възникнС ΠΏΡ€Π΅Π»ΠΈΠ²Π°Π½Π΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, Π΄ΠΎΡ€ΠΈ Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Π»ΠΈ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ прост ΠΈΠ»ΠΈ слоТСн, ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° помислитС.

Ако помислитС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ. Но Ρ‚ΠΎΠ²Π° изисква Π²Π°ΡˆΠ΅Ρ‚ΠΎ мислСнС Π΄Π° Π΅ ясно. Π—Π° Π΄Π° постигнСтС Ρ‚ΠΎΠ²Π°, трябва Π΄Π° Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ мислитС си. Наистина харСсвам Ρ†ΠΈΡ‚Π°Ρ‚Π° Π½Π° Π”ΠΈΠΊ Π“ΡƒΠΈΠ½Π΄ΡŠΠ½: β€žΠšΠΎΠ³Π°Ρ‚ΠΎ пишСш, ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°Ρ‚Π° Ρ‚ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ Π½Π΅Π±Ρ€Π΅ΠΆΠ½ΠΎ ΠΌΠΈΡΠ»ΠΈΡˆβ€œ. Ако Π½Π΅ пишСш, само си мислиш, Ρ‡Π΅ мислиш. И трябва Π΄Π° Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π²Π°ΡˆΠΈΡ‚Π΅ мисли ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° спСцификации.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, особСно Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Но Ρ‰Π΅ говоря само Π·Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ тях: Ρ‚Π΅ Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π΄Π° мислим ясно. Ясното мислСнС Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΈ доста Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‚ΡƒΠΊ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ всякаква ΠΏΠΎΠΌΠΎΡ‰. На какъв Π΅Π·ΠΈΠΊ трябва Π΄Π° пишСм спСцификациитС? По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‚ΠΎΠ²Π° Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΏΡŠΡ€Π²ΠΈΡΡ‚ Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° програмиститС: Π½Π° какъв Π΅Π·ΠΈΠΊ Ρ‰Π΅ пишСм. Няма Π΅Π΄ΠΈΠ½ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° Π½Π΅Π³ΠΎ: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅, са Ρ‚Π²ΡŠΡ€Π΄Π΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΈ. Π—Π° някои TLA+ Π΅ спСцификационСн Π΅Π·ΠΈΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΡ…. Π—Π° Π΄Ρ€ΡƒΠ³ΠΈ Π΅ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ китайски. Всичко зависи ΠΎΡ‚ ситуацията.

По-Π²Π°ΠΆΠ΅Π½ Π΅ Π΄Ρ€ΡƒΠ³ Π²ΡŠΠΏΡ€ΠΎΡ: ΠΊΠ°ΠΊ Π΄Π° постигнСм ΠΏΠΎ-ясно мислСнС? ΠžΡ‚Π³ΠΎΠ²ΠΎΡ€: Врябва Π΄Π° мислим ΠΊΠ°Ρ‚ΠΎ ΡƒΡ‡Π΅Π½ΠΈ. Π’ΠΎΠ²Π° Π΅ Π½Π°Ρ‡ΠΈΠ½ Π½Π° мислСнС, ΠΊΠΎΠΉΡ‚ΠΎ сС Π΅ Π΄ΠΎΠΊΠ°Π·Π°Π» ΠΏΡ€Π΅Π· послСднитС 500 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π’ Π½Π°ΡƒΠΊΠ°Ρ‚Π° Π½ΠΈΠ΅ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ матСматичСски ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° рСалността. Астрономията Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΏΡŠΡ€Π²Π°Ρ‚Π° Π½Π°ΡƒΠΊΠ° Π² тСсния смисъл Π½Π° Π΄ΡƒΠΌΠ°Ρ‚Π°. Π’ матСматичСския ΠΌΠΎΠ΄Π΅Π», ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² астрономията, нСбСснитС Ρ‚Π΅Π»Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ с маса, позиция ΠΈ импулс, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π² дСйствитСлност са ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ слоТни ΠΎΠ±Π΅ΠΊΡ‚ΠΈ с ΠΏΠ»Π°Π½ΠΈΠ½ΠΈ ΠΈ ΠΎΠΊΠ΅Π°Π½ΠΈ, ΠΏΡ€ΠΈΠ»ΠΈΠ²ΠΈ ΠΈ ΠΎΡ‚Π»ΠΈΠ²ΠΈ. Π’ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π», ΠΊΠ°ΠΊΡ‚ΠΎ всСки Π΄Ρ€ΡƒΠ³, Π΅ създадСн Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π’ΠΎΠΉ Π΅ чудСсСн Π·Π° опрСдСлянС накъдС Π΄Π° насочитС тСлСскопа, Π°ΠΊΠΎ трябва Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ»Π°Π½Π΅Ρ‚Π°. Но Π°ΠΊΠΎ искатС Π΄Π° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π·ΠΈ ΠΏΠ»Π°Π½Π΅Ρ‚Π°, Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Π½ΠΈ позволява Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ свойствата Π½Π° Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π». И Π½Π°ΡƒΠΊΠ°Ρ‚Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Ρ‚Π΅Π·ΠΈ свойства са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с рСалността. НСка ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Π½Π°ΡˆΠ°Ρ‚Π° Π½Π°ΡƒΠΊΠ°, ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ Π½Π°ΡƒΠΊΠΈ. РСалността, с която Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ, Π΅ изчислитСлни систСми ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅: процСсори, ΠΈΠ³Ρ€ΠΎΠ²ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ, ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ, ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‰ΠΈ сС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ Ρ‚.Π½. Π©Π΅ говоря Π·Π° изпълнСниС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ цяло всички Ρ‚Π΅Π·ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сС отнасят Π·Π° всяка изчислитСлна систСма. Π’ Π½Π°ΡˆΠ°Ρ‚Π° Π½Π°ΡƒΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ: ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π° Π½Π° Π’ΡŽΡ€ΠΈΠ½Π³, частично ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ.

Какво Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°? Π’ΠΎΠ²Π° Π΅ всСки ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° нСзависимо. Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ трябва Π΄Π° напишСм Π±Ρ€Π°ΡƒΠ·ΡŠΡ€. ИзпълнявамС Ρ‚Ρ€ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ: ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π° Π½Π° потрСбитСля Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, слСд Ρ‚ΠΎΠ²Π° пишСм Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° Π½Π° високо Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΈ накрая пишСм ΠΊΠΎΠ΄Π°. Π”ΠΎΠΊΠ°Ρ‚ΠΎ пишСм ΠΊΠΎΠ΄Π°, Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ трябва Π΄Π° напишСм тСкстов Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ‚ΠΎΡ€. Π’ΡƒΠΊ ΠΎΡ‚Π½ΠΎΠ²ΠΎ трябва Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ какъв тСкст Ρ‰Π΅ Π²ΡŠΡ€Π½Π΅ Ρ‚ΠΎΠ·ΠΈ инструмСнт; ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅; Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄. Π’Π°Π·ΠΈ Π·Π°Π΄Π°Ρ‡Π° ΠΈΠΌΠ° своя ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π°: ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ вмъкванС Π½Π° Ρ‚ΠΈΡ€Π΅ Π² Π΄ΡƒΠΌΠΈΡ‚Π΅. РСшавамС ΠΈ Ρ‚Π°Π·ΠΈ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π° Π² Ρ‚Ρ€ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ – ΠΊΠ°ΠΊΡ‚ΠΎ Π²ΠΈΠΆΠ΄Π°Ρ‚Π΅, Ρ‚Π΅ сС повтарят Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠ²Π°.

НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°: какъв ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ€Π΅ΡˆΠ°Π²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. Π’ΡƒΠΊ Π½Π°ΠΉ-чСсто ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΊΠ°Ρ‚ΠΎ функция, която ΠΏΡ€ΠΈΠ΅ΠΌΠ° някои Π²Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π’ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° функцията ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС описва ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π²ΠΎΠΉΠΊΠΈ. НапримСр функцията Π·Π° ΠΏΠΎΠ²Π΄ΠΈΠ³Π°Π½Π΅ Π½Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ Π·Π° СстСствСни числа сС описва ΠΊΠ°Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ {<0,0>, <1,1>, <2,4>, <3,9>, …}. Π”ΠΎΠΌΠ΅ΠΉΠ½ΡŠΡ‚ Π½Π° Ρ‚Π°ΠΊΠ°Π²Π° функция Π΅ мноТСството ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° всяка Π΄Π²ΠΎΠΉΠΊΠ°, тоСст СстСствСнитС числа. Π—Π° Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ функция, трябва Π΄Π° посочим нСйния ΠΎΠ±Ρ…Π²Π°Ρ‚ ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°.

Но Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Π½Π΅ са ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π² Π΅Π·ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсна. Въй ΠΊΠ°Ρ‚ΠΎ нямам Π²Ρ€Π΅ΠΌΠ΅ Π·Π° слоТни ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ, Π½Π΅ΠΊΠ° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ прост: функция Π² C ΠΈΠ»ΠΈ статичСн ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Java, ΠΊΠΎΠΉΡ‚ΠΎ Π²Ρ€ΡŠΡ‰Π° Π½Π°ΠΉ-голСмия ΠΎΠ±Ρ‰ Π΄Π΅Π»ΠΈΡ‚Π΅Π» Π½Π° Π΄Π²Π΅ Ρ†Π΅Π»ΠΈ числа. Π’ спСцификацията Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‰Π΅ напишСм: изчислява GCD(M,N) Π·Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ M ΠΈ NΠšΡŠΠ΄Π΅Ρ‚ΠΎ GCD(M,N) - функция, Ρ‡ΠΈΠΉΡ‚ΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π΅ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π²ΠΎΠΉΠΊΠΈ Ρ†Π΅Π»ΠΈ числа, Π° Π²ΡŠΡ€Π½Π°Ρ‚Π°Ρ‚Π° стойност Π΅ Π½Π°ΠΉ-голямото цяло число, ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π΄Π΅Π»ΠΈ Π½Π° M ΠΈ N. Как Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» сС ΡΠ²ΡŠΡ€Π·Π²Π° с рСалността? ΠœΠΎΠ΄Π΅Π»ΡŠΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Ρ†Π΅Π»ΠΈ числа, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π² C ΠΈΠ»ΠΈ Java ΠΈΠΌΠ°ΠΌΠ΅ 32-Π±ΠΈΡ‚ΠΎΠ² int. Π’ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» Π½ΠΈ позволява Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ Π΄Π°Π»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ GCD, Π½ΠΎ Ρ‚ΠΎΠ²Π° няма Π΄Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅. Π’ΠΎΠ²Π° Ρ‰Π΅ изисква ΠΏΠΎ-слоТСн ΠΌΠΎΠ΄Π΅Π», Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ няма Π²Ρ€Π΅ΠΌΠ΅.

НСка ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ограничСнията Π½Π° функцията ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π». Някои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ (ΠΊΠ°Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми) Π½Π΅ просто Π²Ρ€ΡŠΡ‰Π°Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° стойност Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ, Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° работят Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ. Π’ допълнСниС, функцията ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π» Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ подходяща Π·Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°: ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ ΠΊΠ°ΠΊ Π΄Π° сС Ρ€Π΅ΡˆΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚. Π‘ΡŠΡ€Π·ΠΎΡ‚ΠΎ сортиранС ΠΈ Π±Π°Π»ΠΎΠ½Π½ΠΎΡ‚ΠΎ сортиранС изчисляват Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° функция, Π½ΠΎ Ρ‚Π΅ са напълно Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ. Π•Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ, Π·Π° Π΄Π° опиша ΠΊΠ°ΠΊ сС постига Ρ†Π΅Π»Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΌΠΎΠ΄Π΅Π», Π½Π΅ΠΊΠ° Π³ΠΎ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ стандартСн ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π² нСя Π΅ прСдставСна ΠΊΠ°Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ всички допустими повСдСния, всяко ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚ своя страна Π΅ послСдоватСлност ΠΎΡ‚ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ, Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π΅ присвояванСто Π½Π° стойности Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ.

НСка Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π·Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄. Врябва Π΄Π° изчислим GCD(M, N). Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ M ΠΊΠ°Ρ‚ΠΎ xИ N ΠΊΠ°Ρ‚ΠΎ y, слСд Ρ‚ΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΠ·Π²Π°Π΄Π΅Ρ‚Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ°Ρ‚Π° ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΡ‚ ΠΏΠΎ-голямата, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ станат Ρ€Π°Π²Π½ΠΈ. НапримСр Π°ΠΊΠΎ M = 12И N = 18, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° опишСм слСдното ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:

[x = 12, y = 18] β†’ [x = 12, y = 6] β†’ [x = 6, y = 6]

И Π°ΠΊΠΎ M = 0 ΠΈ N = 0? Нулата сС Π΄Π΅Π»ΠΈ Π½Π° всички числа, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π² Ρ‚ΠΎΠ·ΠΈ случай няма Π½Π°ΠΉ-голям Π΄Π΅Π»ΠΈΡ‚Π΅Π». Π’ Ρ‚Π°Π·ΠΈ ситуация трябва Π΄Π° сС Π²ΡŠΡ€Π½Π΅ΠΌ към ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° ΠΈ Π΄Π° ΠΏΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅: наистина Π»ΠΈ трябва Π΄Π° изчислявамС GCD Π·Π° Π½Π΅ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»Π½ΠΈ числа? Ако Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, просто трябва Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ спСцификацията.

Π’ΡƒΠΊ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ относно производитСлността. ЧСсто сС ΠΈΠ·ΠΌΠ΅Ρ€Π²Π° Π² броя Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΊΠΎΠ΄, написани Π½Π° Π΄Π΅Π½. Но Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π²ΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΏΠΎΠ»Π΅Π·Π½Π°, Π°ΠΊΠΎ сС ΠΎΡ‚ΡŠΡ€Π²Π΅Ρ‚Π΅ ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π±Ρ€ΠΎΠΉ Ρ€Π΅Π΄ΠΎΠ²Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ място Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. И Π½Π°ΠΉ-лСсният Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС ΠΎΡ‚ΡŠΡ€Π²Π΅Ρ‚Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄Π° Π΅ Π½Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°. Напълно възмоТно Π΅ просто Π΄Π° Π½Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ всичкитС Π·Π²ΡŠΠ½Ρ†ΠΈ ΠΈ свирки, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅. Най-Π±ΡŠΡ€Π·ΠΈΡΡ‚ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° опроститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΈ Π΄Π° спСститС Π²Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° Π½Π΅ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ трябва Π΄Π° сС правят. Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π΅ вторият Π½Π°ΠΉ-голям ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Π·Π° спСстяванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅. Ако ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Ρ‚Π΅ производитСлността ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° написани Ρ€Π΅Π΄ΠΎΠ²Π΅, Ρ‚ΠΎΠ³Π°Π²Π° мислСнСто Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡Π° Ρ‰Π΅ Π²ΠΈ Π½Π°ΠΊΠ°Ρ€Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΡΡŠΡ‰ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΊΠΎΠ΄. Π’ΡƒΠΊ Π½Π΅ ΠΌΠΎΠ³Π° Π΄Π° Π΄Π°ΠΌ Ρ‚ΠΎΡ‡Π½Π° статистика, Π·Π°Ρ‰ΠΎΡ‚ΠΎ нямам Π½Π°Ρ‡ΠΈΠ½ Π΄Π° прСброя броя Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ съм написал ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ… Π²Ρ€Π΅ΠΌΠ΅ Π½Π° спСцификацията, тоСст Π½Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΠΈ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°. И Ρ‚ΡƒΠΊ ΡΡŠΡ‰ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС постави СкспСримСнт, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² СкспСримСнта нямамС ΠΏΡ€Π°Π²ΠΎ Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈΠΌ ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°, Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½Π°.

ЛСсно Π΅ Π΄Π° сС ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π½Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ трудности Π² Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΈΡ‚Π΅ спСцификации. Няма Π½ΠΈΡ‰ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π² писанСто Π½Π° строги спСцификации Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, няма Π΄Π° обсъТдам Ρ‚ΠΎΠ²Π°. ВмСсто Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° писанС Π½Π° силни спСцификации Π·Π° стандартно ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Има Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ°, която ΠΊΠ°Π·Π²Π°, Ρ‡Π΅ всСки Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ повСдСния ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС описан с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° свойството сигурност (бСзопасност) ΠΈ свойства Π·Π° оцСляванС (ТизнСност). Бигурността ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ няма Π΄Π° сС случи Π½ΠΈΡ‰ΠΎ лошо, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° няма Π΄Π° Π΄Π°Π΄Π΅ Π³Ρ€Π΅ΡˆΠ΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. ΠžΡ†Π΅Π»ΡΠ²Π°Π½Π΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно Ρ‰Π΅ сС случи Π½Π΅Ρ‰ΠΎ Π΄ΠΎΠ±Ρ€ΠΎ, Ρ‚.Π΅. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно Ρ‰Π΅ Π΄Π°Π΄Π΅ правилния ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. По ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ сигурността Π΅ ΠΏΠΎ-Π²Π°ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π», Ρ‚ΡƒΠΊ Π½Π°ΠΉ-чСсто Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ. Π—Π°Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° спСстя Π²Ρ€Π΅ΠΌΠ΅, няма Π΄Π° говоря Π·Π° оцСляванСто, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΡΡŠΡ‰ΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ.

НиС постигамС сигурност, ΠΊΠ°Ρ‚ΠΎ прСдписвамС, ΠΏΡŠΡ€Π²ΠΎ, Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ възмоТни Π½Π°Ρ‡Π°Π»Π½ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ. И Π²Ρ‚ΠΎΡ€ΠΎ, Π²Ρ€ΡŠΠ·ΠΊΠΈ с всички възмоТни слСдващи ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π·Π° всяко ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. НСка дСйствамС ΠΊΠ°Ρ‚ΠΎ ΡƒΡ‡Π΅Π½ΠΈ ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡΡ‚Π° матСматичСски. ΠΠ°Π±ΠΎΡ€ΡŠΡ‚ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π½ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ сС описва с Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² случая Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄: (x = M) ∧ (y = N). Π—Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ стойности M ΠΈ N ΠΈΠΌΠ° само Π΅Π΄Π½ΠΎ Π½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. Π’Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° със слСдващото ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ сС описва с Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°, Π² която ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° слСдващото ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ сС записват с просто число, Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ сС записват Π±Π΅Π· просто число. Π’ случая с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄ Ρ‰Π΅ сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ с Π΄ΠΈΠ·ΡŽΠ½ΠΊΡ†ΠΈΡ Π½Π° Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ, Π² Π΅Π΄Π½Π°Ρ‚Π° ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ x Π΅ Π½Π°ΠΉ-голямата стойност, Π° във Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° - y:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π’ ΠΏΡŠΡ€Π²ΠΈΡ случай Π½ΠΎΠ²Π°Ρ‚Π° стойност Π½Π° y Π΅ Ρ€Π°Π²Π½Π° Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° стойност Π½Π° y ΠΈ Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π½ΠΎΠ²Π°Ρ‚Π° стойност Π½Π° x Ρ‡Ρ€Π΅Π· ΠΈΠ·Π²Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΎΡ‚ ΠΏΠΎ-голямата. Π’ΡŠΠ² втория случай ΠΏΡ€Π°Π²ΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΡ‚ΠΎ.

Π”Π° сС β€‹β€‹Π²ΡŠΡ€Π½Π΅ΠΌ към Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄. НСка ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ ΠΎΡ‚Π½ΠΎΠ²ΠΎ, Ρ‡Π΅ M = 12, N = 18. Π’ΠΎΠ²Π° опрСдСля Π΅Π΄Π½ΠΎ Π½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, (x = 12) ∧ (y = 18). Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ Ρ‚Π΅Π·ΠΈ стойности във Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°Ρ‚Π° ΠΏΠΎ-Π³ΠΎΡ€Π΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π•Ρ‚ΠΎ СдинствСното възмоТно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: x' = 18 - 12 ∧ y' = 12ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ: [x = 12, y = 18]. По ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° опишСм всички ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅: [x = 12, y = 18] β†’ [x = 12, y = 6] β†’ [x = 6, y = 6].

Π’ послСдно ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ [x = 6, y = 6] ΠΈ Π΄Π²Π΅Ρ‚Π΅ части Π½Π° ΠΈΠ·Ρ€Π°Π·Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ false, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ няма слСдващо ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. И Ρ‚Π°ΠΊΠ°, ΠΈΠΌΠ°ΠΌΠ΅ пълна спСцификация Π½Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° - ΠΊΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‚ΠΎΠ²Π° Π΅ съвсСм ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅, Π° Π½Π΅ странна, ΠΊΠ°Ρ‚ΠΎ Π² ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ Π½Π°ΡƒΠΊΠΈ.

Π’Π΅Π·ΠΈ Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π² Π΅Π΄Π½Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Π½Π° Ρ‚Π΅ΠΌΠΏΠΎΡ€Π°Π»Π½Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ°. Вя Π΅ Π΅Π»Π΅Π³Π°Π½Ρ‚Π½Π° ΠΈ лСсна Π·Π° обяснСниС, Π½ΠΎ сСга няма Π²Ρ€Π΅ΠΌΠ΅ Π·Π° нСя. МоТС Π΄Π° сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²Π° Π»ΠΎΠ³ΠΈΠΊΠ° само Π·Π° свойството оТивСност, тя Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π·Π° сигурност. НС харСсвам Π²Ρ€Π΅ΠΌΠ΅Π²Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΠ°Ρ‚ΠΎ Ρ‚Π°ΠΊΠ°Π²Π°, Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ съвсСм ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Π½ΠΎ Π² случая с ТизнСността Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π»ΠΎ.

Π’ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄, Π·Π° всяка стойност x ΠΈ y ΠΈΠΌΠ°Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈ стойности x' ΠΈ y', ΠΊΠΎΠΈΡ‚ΠΎ правят Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° със слСдващото ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ вярна. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄ Π΅ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½. Π—Π° Π΄Π° сС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π° Π½Π΅Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ трябва Π΄Π° ΠΈΠΌΠ° мноТСство възмоТни Π±ΡŠΠ΄Π΅Ρ‰ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ ΠΈ всяка стойност Π½Π° Π½Π΅ΠΏΡ€Π°ΠΉΠΌΠΈΡ€Π°Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π΄Π° ΠΈΠΌΠ° мноТСство стойности Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° с ΠΏΡ€Π°ΠΉΠΌ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° със слСдващото ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π΄Π° Π΅ вярна. Π’ΠΎΠ²Π° Π΅ лСсно Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ, Π½ΠΎ сСга няма Π΄Π° Π΄Π°Π²Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ.

Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ инструмСнт, ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Как Π΄Π° направя спСцификацията ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π°? Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°, ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»Π΅Π½ Π΅Π·ΠΈΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ TLA+. БпСцификацията Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π½Π° Π•Π²ΠΊΠ»ΠΈΠ΄ Π±ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Π»Π° Ρ‚Π°ΠΊΠ° Π½Π° Ρ‚ΠΎΠ·ΠΈ Π΅Π·ΠΈΠΊ:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π‘ΠΈΠΌΠ²ΠΎΠ» Π½Π° Π·Π½Π°ΠΊ Π·Π° равСнство с Ρ‚Ρ€ΠΈΡŠΠ³ΡŠΠ»Π½ΠΈΠΊ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ стойността отляво Π½Π° Π·Π½Π°ΠΊΠ° Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π²Π½Π° Π½Π° стойността отдясно Π½Π° Π·Π½Π°ΠΊΠ°. По ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ спСцификацията Π΅ дСфиниция, Π² нашия случай Π΄Π²Π΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΠΈ. Към спСцификацията Π² TLA+ трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ ΠΈ някакъв синтаксис, ΠΊΠ°ΠΊΡ‚ΠΎ Π² слайда ΠΏΠΎ-Π³ΠΎΡ€Π΅. Π’ ASCII Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

ΠšΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½ΠΈΡ‰ΠΎ слоТно. БпСцификацията Π·Π° TLA+ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС тСствана, Ρ‚.Π΅. Π΄Π° сС заобиколят всички възмоТни повСдСния Π² малък ΠΌΠΎΠ΄Π΅Π». Π’ нашия случай Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» Ρ‰Π΅ бъдС с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ стойности M ΠΈ N. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ прост ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ напълно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΈ доказатСлства Π·Π° истината ΠΈ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΡ‡Π½ΠΎ, Π½ΠΎ Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ.

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ Π½Π° TLA+ Π΅, Ρ‡Π΅ Π΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Π° програмиститС ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ ΡƒΡ‡Π΅Π½ΠΈ сС страхуват ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π°. На ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Π·Π²ΡƒΡ‡ΠΈ ΠΊΠ°Ρ‚ΠΎ шСга, Π½ΠΎ, Π·Π° съТалСниС, Π³ΠΎ ΠΊΠ°Π·Π²Π°ΠΌ съвсСм сСриозно. ΠšΠΎΠ»Π΅Π³Π°Ρ‚Π° ΠΌΠΈ Ρ€Π°Π·ΠΊΠ°Π·Π²Π°ΡˆΠ΅ ΠΊΠ°ΠΊ сС Π΅ ΠΎΠΏΠΈΡ‚Π°Π» Π΄Π° обясни TLA+ Π½Π° няколко Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ. Π©ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ‚Π΅ сС появиха Π½Π° Π΅ΠΊΡ€Π°Π½Π°, Π²Π΅Π΄Π½Π°Π³Π° станаха ΡΡ‚ΡŠΠΊΠ»Π΅Π½ΠΈ ΠΎΡ‡ΠΈ. Π’Π°ΠΊΠ° Ρ‡Π΅, Π°ΠΊΠΎ TLA+ Π²ΠΈ плаши, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ PlusCal, Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈΠ³Ρ€Π°Ρ‡ΠΊΠ°. Π˜Π·Ρ€Π°Π· Π² PlusCal ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС всСки TLA+ ΠΈΠ·Ρ€Π°Π·, Ρ‚.Π΅. ΠΊΠ°Ρ‚ΠΎ цяло всСки матСматичСски ΠΈΠ·Ρ€Π°Π·. ОсвСн Ρ‚ΠΎΠ²Π° PlusCal ΠΈΠΌΠ° синтаксис Π·Π° Π½Π΅Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ. Въй ΠΊΠ°Ρ‚ΠΎ PlusCal ΠΌΠΎΠΆΠ΅ Π΄Π° напишС всСки TLA+ ΠΈΠ·Ρ€Π°Π·, PlusCal Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΈΠ·Ρ€Π°Π·ΠΈΡ‚Π΅Π»Π΅Π½ ΠΎΡ‚ всСки Ρ€Π΅Π°Π»Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° PlusCal сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π° Π² лСсно Ρ‡Π΅Ρ‚ΠΈΠΌΠ° TLA+ спСцификация. Π’ΠΎΠ²Π°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ слоТната спСцификация Π½Π° PlusCal Ρ‰Π΅ сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π΅ Π² проста Π½Π° TLA + - просто ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ тях Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, няма Π΄Π° ΠΈΠΌΠ° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° слоТност. И накрая, Ρ‚Π°Π·ΠΈ спСцификация ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° ΠΎΡ‚ TLA+ инструмСнти. ΠšΠ°Ρ‚ΠΎ цяло PlusCal ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π° прСодоляванС Π½Π° матСматичСската фобия ΠΈ Π΅ лСсСн Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΄ΠΎΡ€ΠΈ Π·Π° програмисти ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ ΡƒΡ‡Π΅Π½ΠΈ. Π’ ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° Π½Π΅Π³ΠΎ Π·Π° извСстно Π²Ρ€Π΅ΠΌΠ΅ (ΠΎΠΊΠΎΠ»ΠΎ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ).

МоТС Π±ΠΈ някой Ρ‰Π΅ Π²ΡŠΠ·Ρ€Π°Π·ΠΈ, Ρ‡Π΅ TLA + ΠΈ PlusCal са ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ само Π²ΡŠΡ€Ρ…Ρƒ измислСни ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ Ρ€Π΅Π°Π»Π΅Π½ Π΅Π·ΠΈΠΊ с Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ, ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ Ρ‚.Π½. Π’ΠΎΠ²Π° Π΅ Π³Ρ€Π΅ΡˆΠ½ΠΎ. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ пишС ΠšΡ€ΠΈΡ Нюкомб, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠ» Π² Amazon: β€žΠ˜Π·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ TLA+ Π½Π° дСсСт Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ във всСки случай имашС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ успяхмС Π΄Π° Ρ…Π²Π°Π½Π΅ΠΌ опасни Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ производството, ΠΈ Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½ΠΈ Π΄Π°Π΄Π΅ ΠΏΡ€ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ увСрСността, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ…ΠΌΠ΅, Π·Π° Π΄Π° постигнСм агрСсивно прСдставянС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π±Π΅Π· Π΄Π° сС засяга истинността Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°". ЧСсто ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ‡ΡƒΠ΅Ρ‚Π΅, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ - Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° всичко Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΡ‚ΠΎ. ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈΡ‚Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡƒΠ±Π΅Π΄Π΅Π½ΠΈ Π² нСобходимостта ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ програмиститС са ΡƒΠ±Π΅Π΄Π΅Π½ΠΈ Π² тяхната полСзност. И Нюкомб пишС: β€žΠœΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈΡ‚Π΅ сСга настояват Π΄Π° Π½Π°ΠΏΠΈΡˆΠ°Ρ‚ спСцификации Π·Π° TLA + ΠΈ спСциално отдСлят Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ‚ΠΎΠ²Π°β€œ. Π’Π°ΠΊΠ° Ρ‡Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈΡ‚Π΅ видят, Ρ‡Π΅ TLA+ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Ρ‚Π΅ с радост Π³ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚. Chris Newcomb написа Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΈ ΠΎΠΊΠΎΠ»ΠΎ ΡˆΠ΅ΡΡ‚ мСсСца (ΠΎΠΊΡ‚ΠΎΠΌΠ²Ρ€ΠΈ 2014 Π³.), Π½ΠΎ сСга, Π΄ΠΎΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π·Π½Π°ΠΌ, TLA+ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² 14 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Π½Π΅ Π² 10. Π”Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅ Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° XBox 360. Π•Π΄ΠΈΠ½ стаТант Π΄ΠΎΠΉΠ΄Π΅ ΠΏΡ€ΠΈ Charles Thacker ΠΈ написа спСцификация Π·Π° систСмата ΠΏΠ°ΠΌΠ΅Ρ‚. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°Π·ΠΈ спСцификация бСшС ΠΎΡ‚ΠΊΡ€ΠΈΡ‚Π° Π³Ρ€Π΅ΡˆΠΊΠ°, която ΠΈΠ½Π°Ρ‡Π΅ Π±ΠΈ останала нСзабСлязана ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ която всСки XBox 360 сС срива слСд Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ часа ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° IBM ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄ΠΈΡ…Π°, Ρ‡Π΅ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ тСстовС Π½Π΅ Π±ΠΈΡ…Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ»ΠΈ Ρ‚ΠΎΠ·ΠΈ бъг.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° TLA + Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Π½ΠΎ сСга Π½Π΅ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΈΡ‚Π΅ спСцификации. Рядко сС Π½Π°Π»Π°Π³Π° Π΄Π° пишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ изчисляват Π½Π°ΠΉ-малкия ΠΎΠ±Ρ‰ Π΄Π΅Π»ΠΈΡ‚Π΅Π» ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ. Много ΠΏΠΎ-чСсто пишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ инструмСнта Π·Π° красив ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ написах Π·Π° TLA+. Π‘Π»Π΅Π΄ Π½Π°ΠΉ-простата ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° TLA + ΠΊΠΎΠ΄ΡŠΡ‚ Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Но Π² горния ΠΏΡ€ΠΈΠΌΠ΅Ρ€ потрСбитСлят Π½Π°ΠΉ-вСроятно иска Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° ΠΈ Π·Π½Π°Ρ†ΠΈΡ‚Π΅ Π·Π° равСнство Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ΄Ρ€Π°Π²Π½Π΅Π½ΠΈ. Π’Π°ΠΊΠ° Ρ‡Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ-скоро Ρ‚Π°ΠΊΠ°:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

ΠŸΠΎΠΌΠΈΡΠ»Π΅Ρ‚Π΅ Π·Π° Π΄Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

Π’ΡƒΠΊ, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², подравняванСто Π½Π° Π·Π½Π°Ρ†ΠΈΡ‚Π΅ Π·Π° равСнство, добавянС ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° бСшС случайно, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π°ΠΉ-простата ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΅ напълно Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π°. По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ няма Ρ‚ΠΎΡ‡Π½Π° матСматичСска дСфиниция Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ β€žΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎβ€œ Π² случая ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° β€žΠΊΠ°ΠΊΠ²ΠΎ иска ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚β€œ, Π° Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС матСматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ.

ИзглСТда, Ρ‡Π΅ Π°ΠΊΠΎ нямамС дСфиниция Π½Π° истината, Ρ‚ΠΎΠ³Π°Π²Π° спСцификацията Π΅ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½Π°. Но Π½Π΅ Π΅. Π’ΠΎΠ²Π°, Ρ‡Π΅ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ трябва Π΄Π° ΠΏΡ€Π°Π²ΠΈ Π΅Π΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° мислим ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ - Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², трябва Π΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΠΎΡ‰Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ усилия Π² нСя. БпСцификацията Π΅ особСно Π²Π°ΠΆΠ½Π° Ρ‚ΡƒΠΊ. НСвъзмоТно Π΅ Π΄Π° сС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° структуриран ΠΏΠ΅Ρ‡Π°Ρ‚, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ трябва Π΄Π° я ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠ΅, Π° писанСто Π½Π° ΠΊΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΡ‚ съзнаниС Π½Π΅ Π΅ Π΄ΠΎΠ±Ρ€ΠΎ Π½Π΅Ρ‰ΠΎ. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка написах спСцификация ΠΎΡ‚ ΡˆΠ΅ΡΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° с Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΠΈ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ Π² java Ρ„Π°ΠΉΠ». Π•Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Π΅Π΄Π½ΠΎ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π°: a left-comment token is LeftComment aligned with its covering token. Π’ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΅ написано Π½Π°, Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, матСматичСски английски: LeftComment aligned, left-comment ΠΈ covering token - Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ с опрСдСлСния. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ†ΠΈΡ‚Π΅ описват ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π°: Ρ‚Π΅ ΠΏΠΈΡˆΠ°Ρ‚ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΠΈ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ ΠΈ въз основа Π½Π° тях ΠΏΡ€Π°Π²ΠΈΠ»Π°. ΠŸΠΎΠ»Π·Π°Ρ‚Π° ΠΎΡ‚ Ρ‚Π°ΠΊΠ°Π²Π° спСцификация Π΅, Ρ‡Π΅ ΡˆΠ΅ΡΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° са ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсни Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΎΡ‚ 850 Ρ€Π΅Π΄Π° ΠΊΠΎΠ΄. Врябва Π΄Π° ΠΊΠ°ΠΆΠ°, Ρ‡Π΅ писанСто Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π΅ бСшС лСсно, ΠΎΡ‚Π½Π΅ доста Π²Ρ€Π΅ΠΌΠ΅ Π·Π° отстраняванСто ΠΈΠΌ. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»Π½ΠΎ Π·Π° Ρ†Π΅Π»Ρ‚Π° написах ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠΎΠ±Ρ‰Π°Π²Π° ΠΊΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ тСствах Ρ‚Π΅Π·ΠΈ ΡˆΠ΅ΡΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π° няколко ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π½Π΅ ΠΌΠΈ сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° отстранявам Π³Ρ€Π΅ΡˆΠΊΠΈ Π² 850 Ρ€Π΅Π΄Π° ΠΊΠΎΠ΄ ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ сС ΠΎΠΊΠ°Π·Π°Ρ…Π° доста лСсни Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅. Java ΠΈΠΌΠ° страхотни инструмСнти Π·Π° Ρ‚ΠΎΠ²Π°. Ако просто бях написал ΠΊΠΎΠ΄Π°, Ρ‰Π΅ΡˆΠ΅ Π΄Π° ΠΌΠΈ ΠΎΡ‚Π½Π΅ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Ρ‰Π΅ΡˆΠ΅ Π΄Π° Π΅ с ΠΏΠΎ-лошо качСство.

Π—Π°Ρ‰ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π° спСцификация? ΠžΡ‚ Π΅Π΄Π½Π° страна, ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ изпълнСниС Ρ‚ΡƒΠΊ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ няма Π΄Π° угодят Π½Π° Π½ΠΈΠΊΠΎΠ³ΠΎ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Π³ΠΎ ΠΊΠ°Ρ€Π°ΠΌ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ във всички странни ситуации. ΠžΡ‰Π΅ ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ нямах подходящи инструмСнти. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° TLA+ Π΅ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½Π° Ρ‚ΡƒΠΊ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‰Π΅ трябва Ρ€ΡŠΡ‡Π½ΠΎ Π΄Π° напиша ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈΡ‚Π΅.

Π“ΠΎΡ€Π½Π°Ρ‚Π° спСцификация ΠΈΠΌΠ° характСристики, ΠΎΠ±Ρ‰ΠΈ Π·Π° всички спСцификации. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ-високо Π½ΠΈΠ²ΠΎ ΠΎΡ‚ ΠΊΠΎΠ΄Π°. МоТС Π΄Π° сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Π½Π° всСки Π΅Π·ΠΈΠΊ. Всички инструмСнти ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ са Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π·Π° писанСто ΠΌΡƒ. Нито Π΅Π΄ΠΈΠ½ курс ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ няма Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ‚Π°Π·ΠΈ спСцификация. И няма инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ Π±ΠΈΡ…Π° ΠΌΠΎΠ³Π»ΠΈ Π΄Π° направят Ρ‚Π°Π·ΠΈ спСцификация Π½Π΅Π½ΡƒΠΆΠ½Π°, освСн Π°ΠΊΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π΅Π·ΠΈΠΊ спСциално Π·Π° писанС Π½Π° структурирани ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚ Π² TLA+. И накрая, Ρ‚Π°Π·ΠΈ спСцификация Π½Π΅ ΠΊΠ°Π·Π²Π° Π½ΠΈΡ‰ΠΎ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‰Π΅ напишСм ΠΊΠΎΠ΄Π°, тя само посочва ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠ΄ΡŠΡ‚. НиС пишСм спСцификацията, Π·Π° Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° обмислим ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π΄Π° мислим Π·Π° ΠΊΠΎΠ΄Π°.

Но Ρ‚Π°Π·ΠΈ спСцификация ΠΈΠΌΠ° ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ я ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π°Ρ‚ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ спСцификации. 95% ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ спСцификации са Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-ΠΊΡ€Π°Ρ‚ΠΊΠΈ ΠΈ ΠΏΠΎ-прости:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅

ОсвСн Ρ‚ΠΎΠ²Π° Ρ‚Π°Π·ΠΈ спСцификация Π΅ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°. По ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‚ΠΎΠ²Π° Π΅ Π·Π½Π°ΠΊ Π·Π° лоша спСцификация. Π Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° послСдствията ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π΅ доста Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° отдСля ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. Π’ Ρ‚ΠΎΠ·ΠΈ случай ΠΎΠ±Π°Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ… Π΄Π° намСря ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€ Π½Π°Ρ‡ΠΈΠ½.

Π‘Ρ‚Ρ€ΡƒΠ²Π° си Π΄Π° ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ няколко Π΄ΡƒΠΌΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ работят Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ. ΠšΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‚Π΅ работят ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ систСми. Много ΠΌΠ°Π»ΠΊΠΎ Ρ…ΠΎΡ€Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ мислСно ΠΈΠ»ΠΈ Π½Π° хартия ΠΈ Π°Π· Π½Π΅ съм Π΅Π΄ΠΈΠ½ ΠΎΡ‚ тях, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ някога успях Π΄Π° Π³ΠΎ направя. Π—Π°Ρ‚ΠΎΠ²Π° сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ‚ инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ провСрят Π½Π°ΡˆΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ TLA + ΠΈΠ»ΠΈ PlusCal.

Π—Π°Ρ‰ΠΎ бСшС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° пиша спСцификация, Π°ΠΊΠΎ Π²Π΅Ρ‡Π΅ Π·Π½Π°Π΅Ρ… ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠ΄ΡŠΡ‚? Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ просто си мислСх, Ρ‡Π΅ Π³ΠΎ Π·Π½Π°ΠΌ. ОсвСн Ρ‚ΠΎΠ²Π°, със спСцификация, външСн Ρ‡ΠΎΠ²Π΅ΠΊ Π²Π΅Ρ‡Π΅ Π½Π΅ трябва Π΄Π° Π½Π°Π²Π»ΠΈΠ·Π° Π² ΠΊΠΎΠ΄Π°, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π°Π²ΠΈ. Имам ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π½Π΅ трябва Π΄Π° ΠΈΠΌΠ° ΠΎΠ±Ρ‰ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°. Има ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚ΠΎΠ²Π° Π΅ СдинствСното ΠΎΠ±Ρ‰ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ слСдвам: спСцификацията Π½Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠ΄ΡŠΡ‚ трябва Π΄Π° ΠΊΠ°Π·Π²Π° Π½Π° Ρ…ΠΎΡ€Π°Ρ‚Π° всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° знаят, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΊΠΎΠ΄Π°.

И Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ програмиститС трябва Π΄Π° знаят Π·Π° мислСнСто? ΠšΠ°Ρ‚ΠΎ Π·Π° Π½Π°Ρ‡Π°Π»ΠΎ, ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ всички останали: Π°ΠΊΠΎ Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅, Π·Π½Π°Ρ‡ΠΈ само Π²ΠΈ сС струва, Ρ‡Π΅ мислитС. ОсвСн Ρ‚ΠΎΠ²Π° трябва Π΄Π° мислитС, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Ρ‚Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ трябва Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Ρ‚Π΅. БпСцификацията Π΅ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ пишСм, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΠΌΠ΅. НСобходима Π΅ спСцификация Π·Π° всСки ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ ΠΎΡ‚ всСки. И Ρ‚ΠΎΠ·ΠΈ "някой" ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ самият Π°Π²Ρ‚ΠΎΡ€ Π½Π° ΠΊΠΎΠ΄Π° мСсСц слСд написванСто ΠΌΡƒ. НСобходима Π΅ спСцификация Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ систСми, Π·Π° класовС, Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ понякога Π΄ΠΎΡ€ΠΈ Π·Π° слоТни сСкции ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄. Какво Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° сС напишС Π·Π° ΠΊΠΎΠ΄Π°? Врябва Π΄Π° ΠΎΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ, тоСст ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° всСки, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄. Понякога ΠΌΠΎΠΆΠ΅ ΡΡŠΡ‰ΠΎ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΡƒΡ‚ΠΎΡ‡Π½ΠΈ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΡŠΡ‚ изпълнява Ρ†Π΅Π»Ρ‚Π° си. Ако ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ ΠΏΡ€Π΅Π· Ρ‚ΠΎΠ·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² курса Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅, Ρ‚ΠΎΠ³Π°Π²Π° Π³ΠΎ Π½Π°Ρ€ΠΈΡ‡Π°ΠΌΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ. Ако Π΅ Π½Π΅Ρ‰ΠΎ ΠΏΠΎ-спСциално ΠΈ Π½ΠΎΠ²ΠΎ, Ρ‚ΠΎΠ³Π°Π²Π° Π³ΠΎ Π½Π°Ρ€ΠΈΡ‡Π°ΠΌΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΎΡ‚ високо Π½ΠΈΠ²ΠΎ. Π’ΡƒΠΊ няма Ρ„ΠΎΡ€ΠΌΠ°Π»Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠ°: ΠΈ Π΄Π²Π΅Ρ‚Π΅ са абстрактСн ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°.

Как Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификация Π½Π° ΠΊΠΎΠ΄? ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ Π½Π΅Ρ‰ΠΎ: трябва Π΄Π° Π΅ Π΅Π΄Π½ΠΎ Π½ΠΈΠ²ΠΎ ΠΏΠΎ-високо ΠΎΡ‚ самия ΠΊΠΎΠ΄. Врябва Π΄Π° описва ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ ΠΈ повСдСния. Π’ΠΎ трябва Π΄Π° бъдС Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° строго, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ изисква Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°. Ако ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификация Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π°Π΄Π΅Π½Π° Π·Π°Π΄Π°Ρ‡Π° трябва Π΄Π° бъдС изпълнСна, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° я Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π² псСвдокод ΠΈΠ»ΠΈ с PlusCal. Врябва Π΄Π° сС Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификации Π²ΡŠΡ€Ρ…Ρƒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΈ спСцификации. Π’ΠΎΠ²Π° Ρ‰Π΅ Π²ΠΈ Π΄Π°Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ умСния, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ ΠΈ с Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»Π½ΠΈΡ‚Π΅. Как сС Π½Π°ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΈ спСцификации? ΠšΠΎΠ³Π°Ρ‚ΠΎ сС Π½Π°ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΠΌΠ΅, Π½ΠΈΠ΅ ΠΏΠΈΡˆΠ΅Ρ…ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ слСд Ρ‚ΠΎΠ²Π° Π³ΠΈ отстранявахмС. Π’ΡƒΠΊ Π΅ ΡΡŠΡ‰ΠΎΡ‚ΠΎ: Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификацията, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ я с инструмСнта Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° ΠΈ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°ΠΉΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅. TLA+ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ Π½Π°ΠΉ-добрият Π΅Π·ΠΈΠΊ Π·Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π° спСцификация ΠΈ Π΄Ρ€ΡƒΠ³ Π΅Π·ΠΈΠΊ вСроятно Ρ‰Π΅ бъдС ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€ Π·Π° Π²Π°ΡˆΠΈΡ‚Π΅ спСцифични Π½ΡƒΠΆΠ΄ΠΈ. ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²ΠΎΡ‚ΠΎ Π½Π° TLA+ Π΅, Ρ‡Π΅ ΡƒΡ‡ΠΈ Π½Π° матСматичСско мислСнС ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅.

Как Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ° спСцификация ΠΈ ΠΊΠΎΠ΄? Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ матСматичСскитС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈ тяхното ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅. Ако Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΎ Π½ΠΈΠ²ΠΎ Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ масиви ΠΎΡ‚ възли ΠΈ масиви ΠΎΡ‚ Π²Ρ€ΡŠΠ·ΠΊΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠ°ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ‚Π° сС изпълнява ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ структури.

Врябва Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ Π½ΠΈΡ‰ΠΎ ΠΎΡ‚ Π³ΠΎΡ€Π½ΠΎΡ‚ΠΎ Π½Π΅ сС отнася Π·Π° дСйствитСлния процСс Π½Π° писанС Π½Π° ΠΊΠΎΠ΄. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄Π°, тоСст ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°, Π²ΠΈΠ΅ ΡΡŠΡ‰ΠΎ трябва Π΄Π° мислитС ΠΈ Π΄Π° мислитС Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. Ако Π΄Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π° сС ΠΎΠΊΠ°ΠΆΠ΅ слоТна ΠΈΠ»ΠΈ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π°, трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификация Π·Π° нСя. Но Ρ‚ΡƒΠΊ Π½Π΅ говоря Π·Π° самия ΠΊΠΎΠ΄. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ всСки Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, всяка мСтодология, Π½Π΅ става Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° тях. ОсвСн Ρ‚ΠΎΠ²Π° Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½ΠΎ ΠΎΡ‚ Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ Π½Π΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° нСобходимостта ΠΎΡ‚ тСстванС ΠΈ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΊΠΎΠ΄Π°. Π”ΠΎΡ€ΠΈ Π°ΠΊΠΎ абстрактният ΠΌΠΎΠ΄Π΅Π» Π΅ написан ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° рСализация.

ΠŸΠΈΡΠ°Π½Π΅Ρ‚ΠΎ Π½Π° спСцификации Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π² процСса Π½Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡƒΠ»ΠΎΠ²Π΅Π½ΠΈ с ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ усилия – Π·Π½Π°Π΅ΠΌ Ρ‚ΠΎΠ²Π° ΠΎΡ‚ ΠΎΠΏΠΈΡ‚Π° Π½Π° програмисти ΠΎΡ‚ Amazon. Бъс спСцификациитС качСството Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ става ΠΏΠΎ-високо. Π’ΠΎΠ³Π°Π²Π° Π·Π°Ρ‰ΠΎ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° чСсто Ρ…ΠΎΠ΄ΠΈΠΌ Π±Π΅Π· тях? Π—Π°Ρ‰ΠΎΡ‚ΠΎ писанСто Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. А писанСто Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π·Π° Ρ‚ΠΎΠ²Π° трябва Π΄Π° мислиш, Π° мислСнСто ΡΡŠΡ‰ΠΎ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. Π’ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΏΠΎ-лСсно Π΄Π° сС ΠΏΡ€Π΅ΡΡ‚Ρ€ΡƒΠ²Π°Ρˆ Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ мислиш. Π’ΡƒΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ аналогия с бяганСто – ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ бягатС, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π±Π°Π²Π½ΠΎ бягатС. Врябва Π΄Π° Ρ‚Ρ€Π΅Π½ΠΈΡ€Π°Ρ‚Π΅ мускулитС си ΠΈ Π΄Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠ²Π°Ρ‚Π΅ писанС. НуТдаСтС сС ΠΎΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°.

БпСцификацията ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°. МоТС Π΄Π° стС допуснали Π³Ρ€Π΅ΡˆΠΊΠ° някъдС ΠΈΠ»ΠΈ изискванията Π΄Π° са сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈΠ»ΠΈ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅. ВсСки ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ някой ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, трябва Π΄Π° бъдС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно спСцификацията Π²Π΅Ρ‡Π΅ няма Π΄Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. Π’ идСалния случай Π² Ρ‚ΠΎΠ·ΠΈ случай трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½ΠΎΠ²Π° спСцификация ΠΈ напълно Π΄Π° ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄Π°. Много Π΄ΠΎΠ±Ρ€Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½ΠΈΠ΅ ΠΊΡ€ΡŠΠΏΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π΅Π²Π΅Π½Ρ‚ΡƒΠ°Π»Π½ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ спСцификацията. Ако Ρ‚ΠΎΠ²Π° трябва Π΄Π° сС случи Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно, Ρ‚ΠΎΠ³Π°Π²Π° Π·Π°Ρ‰ΠΎ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π΄Π° пишСм спСцификации? ΠŸΡŠΡ€Π²ΠΎ, Π·Π° Ρ‡ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π° вашия ΠΊΠΎΠ΄, всяка Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Π΄ΡƒΠΌΠ° Π² спСцификацията Ρ‰Π΅ струва Π·Π»Π°Ρ‚ΠΎ ΠΈ Ρ‚ΠΎΠ·ΠΈ Ρ‡ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° стС Π²ΠΈΠ΅ ​​самитС. ЧСсто сС укорявам, Ρ‡Π΅ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ спСцификации, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΌ ΠΊΠΎΠ΄Π° си. И пиша ΠΏΠΎΠ²Π΅Ρ‡Π΅ спСцификации, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΊΠΎΠ΄. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ΄Π°, спСцификацията Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°. Π’Ρ‚ΠΎΡ€ΠΎ, с всяка рСвизия ΠΊΠΎΠ΄ΡŠΡ‚ сС влошава, става всС ΠΏΠΎ-Ρ‚Ρ€ΡƒΠ΄Π΅Π½ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°. Π’ΠΎΠ²Π° Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Снтропията. Но Π°ΠΊΠΎ Π½Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ със спСцификация, Ρ‚ΠΎΠ³Π°Π²Π° всСки Ρ€Π΅Π΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅, Ρ‰Π΅ бъдС рСдакция ΠΈ ΠΊΠΎΠ΄ΡŠΡ‚ Ρ‰Π΅ бъдС Ρ‚Ρ€ΠΎΠΌΠ°Π² ΠΈ Ρ‚Ρ€ΡƒΠ΄Π΅Π½ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΎΡ‚ самото Π½Π°Ρ‡Π°Π»ΠΎ.

ΠšΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Π·Π° АйзСнхауСр, никоя Π±ΠΈΡ‚ΠΊΠ° Π½Π΅ Π΅ спСчСлСна ΠΏΠΎ ΠΏΠ»Π°Π½ ΠΈ Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½Π° Π±ΠΈΡ‚ΠΊΠ° Π½Π΅ Π΅ спСчСлСна Π±Π΅Π· ΠΏΠ»Π°Π½. И знаСшС Π½Π΅Ρ‰ΠΎ-Π΄Π²Π΅ Π·Π° Π±ΠΈΡ‚ΠΊΠΈΡ‚Π΅. Има ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Π΅ писанСто Π½Π° спСцификации Π΅ Π·Π°Π³ΡƒΠ±Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅. Понякога Ρ‚ΠΎΠ²Π° Π΅ вярно ΠΈ Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° проста, Ρ‡Π΅ няма ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° я мислитС. Но Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²ΠΈ ΠΊΠ°ΠΆΠ°Ρ‚ Π΄Π° Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ спСцификации, Π²ΠΈ ΠΊΠ°Π·Π²Π°Ρ‚ Π΄Π° Π½Π΅ мислитС. И трябва Π΄Π° мислитС Π·Π° Ρ‚ΠΎΠ²Π° всСки ΠΏΡŠΡ‚. ΠžΠ±ΠΌΠΈΡΠ»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ няма Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ. ΠšΠ°ΠΊΡ‚ΠΎ Π·Π½Π°Π΅ΠΌ, Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π΅ измислил магичСската ΠΏΡ€ΡŠΡ‡ΠΊΠ°, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π°. Но Π°ΠΊΠΎ Π½Π΅ обмислитС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° TLA + ΠΈ PlusCal Π½Π° спСциалСн уСбсайт, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Ρ‚Π°ΠΌ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° ΠΌΠΈ страница ΠΏΠΎ ссылкС. Π’ΠΎΠ²Π° Π΅ всичко Π·Π° ΠΌΠ΅Π½, благодаря Π²ΠΈ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Ρ‚ΠΎ.

Моля, ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ, Π½Π΅ забравяйтС, Ρ‡Π΅ Π°Π²Ρ‚ΠΎΡ€ΡŠΡ‚ няма Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅. Ако наистина искатС Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ с Π°Π²Ρ‚ΠΎΡ€Π°, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠΉ Ρ‰Π΅ бъдС Π½Π° конфСрСнцията Hydra 2019, която Ρ‰Π΅ сС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ Π½Π° 11-12 юли 2019 Π³. Π² Π‘Π°Π½ΠΊΡ‚ ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³. Π‘ΠΈΠ»Π΅Ρ‚ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π·Π°ΠΊΡƒΠΏΠ΅Π½ΠΈ Π½Π° официалния уСбсайт.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€