Documentation

Cedar.Thm.SymCC.Compiler.ExtHasAttrRec

In this file we prove the equivalence between a recursive and an iterative compilation function for extended has. The specs use the iterative implementation, which is more efficient and mirrors the Rust implementation, but the proofs rely on the equivalence with the recursive implementation (which mimics the recursive compilation of the desugared form of extended-has).

The only public theorem, at the end of this module, is:

compileExtHasAttr_eq_compileExtHasAttrRec (...) :
  compileExtHasAttr t as εs = compileExtHasAttrRec t as εs