Extracting Herbrand trees from Coq

Software certification aims at proving the correctness of programs but in many cases, the use of external libraries allows only a conditional proof: it depends on the assumption that the libraries meet their specifications. In particular, a bug in these libraries might still impact the certified program. In this case, the difficulty that arises is to isolate the defective library function and provide a counter-example. In this paper, we show that this problem can be logically formalized as the construction of a Herbrand tree for a contradictory universal theory and address it. The solution we propose is based on a proof of Herbrand's theorem in the proof assistant Coq. Classical program extraction using Krivine's classical realizability then translates this proof into a certified program that computes Herbrand trees. Using this tree and calls to the library functions, we are able to determine which function is defective and explicitly produce a counter-example to its specification.

Data and Resources

Additional Info

Field Value
Source https://ens-lyon.hal.science/ensl-00814115
Author Rieg, Lionel
Maintainer CCSD
Last Updated May 11, 2026, 11:18 (UTC)
Created May 11, 2026, 11:18 (UTC)
Identifier ensl-00814115
Language en
Rights https://about.hal.science/hal-authorisation-v1/
contributor Laboratoire de l'Informatique du Parallélisme (LIP) ; École normale supérieure de Lyon (ENS de Lyon) ; Université de Lyon-Université de Lyon-Université Claude Bernard Lyon 1 (UCBL) ; Université de Lyon-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)
creator Rieg, Lionel
date 2011-12-11T00:00:00
harvest_object_id 50ed4905-4429-48b7-9cbc-81b544290469
harvest_source_id 3374d638-d20b-4672-ba96-a23232d55657
harvest_source_title test moissonnage SELUNE
metadata_modified 2025-10-13T00:00:00
relation info:eu-repo/semantics/altIdentifier/arxiv/1304.4557
set_spec type:REPORT