Verilen:
- Çok etkileyici tip sistemlere sahip bir dilde (örneğin Idris ) yabancı işlev arabirimleri / güvensizPerformIO gibi kaçış mekanizmaları da olabilir.
- Bu özellikleri ifade edebilecek bir tip sistemi olmayan bir dilde yazılmış bir programın bazı özelliklerini kanıtlamak için kullanılabilecek kanıt asistanları vardır.
- Curry-Howard yazışması, belirli bir türdeki bir işlevin başarıyla denetlenen bir uygulamasının, bu türle ifade edilen şeyin kanıtı olduğunu gösterir.
Ana dilin tür sisteminde yabancı dil kodunun bazı özelliklerinin önemsiz kanıtlarını ifade edebilir mi?
Örneğin, zaten eşit öğelerin sırasını korurken, numaraları çok akıllı ve verimli bir şekilde sıralayan stabil_qsort adında bir C işlevine ve FFI aracılığıyla stabil_qsort'u çağıran bir Idris programına sahip olduğumu varsayalım, ancak bu nispeten belirsiz olana güvenmiyorum C işlevi. İşlevin, ayrı bir kanıt asistanı kullanmak yerine Idris kodumda tüm girdiler için eşit öğeleri yeniden sıralamadığını kanıtlayabilir miyim?