Vi presenterar ett praktiskt verktyg för att definiera och bevisa egenskaper rekursiva funktioner i Coq proof assistent. Verktyget genererar från pseudo-kod grafen av den avsedda funktionen som en induktiv relation. Sedan bevisar det att relationen faktiskt representerar en funktion, vilket är genom konstruktion den funktion som vi försöker definiera. Sedan genererar vi induktions- och inversionsprinciper, och en fixpointekvation för att bevisa andra egenskaper hos funktionen. Vårt verktyg bygger på toppmoderna tekniker för att definiera rekursiva funktioner, och kan också användas för att generera körbara funktioner från induktiva beskrivningar av deras graf. Vi illustrerar fördelarna med vårt verktyg i två fallstudier.
Barthe et al REF presenterar ett verktyg för att definiera och bevisa egenskaper rekursiva funktioner i Coq.
Defining and reasoning about recursive functions: A practical tool for the Coq proof assistant
{'venue': 'of Lecture Notes in Computer Science', 'journal': None, 'mag_field_of_study': ['Computer Science']}