Опис послуги
ПерекладРозробляю та верифікую програми на Agda — залежно типізованій функціональній мові, яка одночасно є помічником у доказах. Якщо вам потрібна програма, коректність якої перевіряє компілятор, а не надія на тести, я допоможу. Беруся як за невеликі верифіковані структури даних, так і за повноцінні формальні розробки, де кожен інваріант доведено на рівні типів. Я кодую специфікацію як тип, а потім дозволяю перевірачу типів змусити реалізацію їй відповідати, тому цілі класи помилок просто не компілюються. Типові результати роботи: верифіковані алгоритми з доказами завершуваності та коректності, формалізації математичних структур, залежно типізовані парсери та інтерпретатори, машинно перевірені моделі протоколів та бізнес-правил. Вільно працюю з індексованими типами даних, сигма- та пі-типами, пропозиційною рівністю, цілком обґрунтованою рекурсією та стандартною бібліотекою. Переношу неформальні рассуждення на папері в повністю перевірені модулі Agda. Крім написання коду я навчаю теорії типів: індивідуальні заняття за відповідністю Каррі-Говарда, індуктивним сімействам, залежному зіставленню з образцем та умінню мислити доказами замість тестів. Кожен проект супроводжується чистим коментованим вихідником, який проходить перевірку типів з нуля, короткою запискою за ключовими лемами та созвоном-розбором для вашої команди. Чесно пояснюю компроміси, включно з тим, коли легший підхід в іншому інструменті вам краще підійде.