Bu çok aktif bir araştırma konusudur, çok umut vericidir, ancak program üretiminin tam otomasyonu muhtemelen içsel sınırlamalara sahiptir (ancak insanlar daha iyi mi?). Ancak fikir, birçok adımı mekanize ederek ve program üretiminin doğruluğunu otomatik olarak kontrol ederek programların oluşturulmasına önemli ölçüde yardımcı olmak için hala çok yararlıdır.
Bu, bilgisayar programlarının ve matematiksel kanıtların çok benzer olduğunu gösteren , Curry-Howard uyumu (veya izomorfizm) adı verilen mantıktaki bir sonuçla güçlü bir şekilde ilişkilidir .
Buradaki fikir, sistemin kanıtlanması gereken bir teorem olarak program spesifikasyonunuzu alacağıdır. Örneğin, bu (gayri resmi) bir şey olacaktır: "10'dan küçük tüm asal sayılar kümesi var".
Daha sonra, bu teoremi kanıtlamaya çalışacaksınız ve mevcut sistemler kanıtı yapmanıza, bazı parçaları, muhtemelen tüm kanıtı otomatikleştirmenize ve asla hata yapmadığınızdan emin olmanıza yardımcı olacaktır.
Bu kanıttan sonra, başlangıçta belirtilen asal sayıların istenen listesini gerçekten hesaplayan bir program çıkarılabilir.
Geçmişte bu fikirleri açıklamak için çeşitli sistemler geliştirilmiştir. Daha iyi bilinenlerden biri, ML dilini bu amaç için yaratan
Robin Milner tarafından LCF idi . Şu anda en gelişmiş sistemlerden biri
Coq .
Tamamen çalışılmış örnekler var, bazıları oldukça karmaşık. Aşağıdaki makalede bazılarını bulabilirsiniz , ancak hiçbir şekilde basit bir okuma değildir ve ileri düzey Mantık bilgisi gerektirir.