MetaCoq / metacoq

Metaprogramming, verified meta-theory and implementation of Coq in Coq
https://metacoq.github.io
MIT License
370 stars 79 forks source link

Primitive evaluation #1027

Closed mattam82 closed 9 months ago

mattam82 commented 9 months ago

This adds evaluation of primitive terms to all the evaluation relations and proves correctness of erasure and all the compilation phases, i.e. they preserve evaluation of primitives. We still do not give semantics to primitive operations though, only explicit values are handled. An array is evaluated when its default value and list of values are evaluated, cbv-style.