Це дуже активна дослідницька тема, дуже перспективна, хоча повна автоматизація генерування програм, мабуть, має внутрішні обмеження (але чи краще людині?). Але ідея як і раніше є дуже корисною у наданні значної допомоги у створенні програм, механізуючи багато кроків, та автоматично перевіряючи правильність створення програми.
Це сильно пов'язане з результатом у логіці, який називається відповідністю Керрі-Говарда (або ізоморфізмом), що показує, що комп'ютерні програми та математичні докази дуже схожі.
Отже, ідея полягає в тому, що система сприйме специфікацію вашої програми як теорему, яку потрібно довести. У випадку вашого прикладу це було б щось на зразок (неофіційно): "існує набір усіх простих чисел менше 10".
Тоді ви спробуєте довести, що теорема та існуючі системи допоможуть вам зробити доказ, автоматизувати деякі частини, можливо, цілі докази, і переконавшись, що ви ніколи не помилитесь.
З цього доказу можна витягнути програму, яка фактично обчислює шуканий список простих чисел, який був спочатку вказаний.
У минулому було розроблено декілька систем для з'ясування цих ідей. Одним із відомих був LCF з допомогою Робін Мілнер , який створив мову
ML для цієї мети. Однією з найбільш передових на даний момент систем є
Coq .
Є приклади, повністю відпрацьовані, деякі з них досить складні. Ви можете їх знайти в наступному статті , хоча це аж ніяк не просте читання і вимагає передових знань з логіки.