Dans le document PLDI 98 classique de Necula, "La conception et la mise en œuvre d'un compilateur de certification", le vérificateur de haut niveau utilise:
- VCGen pour générer des conditions de vérification (prédicats de sécurité)
- Prouveur de théorème logique du premier ordre pour prouver les conditions
- Vérificateur d'épreuves LF pour vérifier l'épreuve de l'étape (2)
Je suis un peu confus à l'étape (3). Pourquoi est-ce obligatoire? Est-ce que (1) et (2) ne suffiront pas? Pourquoi ne faisons-nous pas simplement confiance à la preuve générée par un prouveur de théorème?