Lemma that Opt.compile produces a well-formed footprint set.
Correctness theorem for Opt.compile -- lit case
Correctness theorem for Opt.compile -- var case
Correctness theorem for Opt.compile -- ite case
Correctness theorem for Opt.compile -- and and or cases
Correctness theorem for Opt.compile -- unaryApp case
Correctness theorem for Opt.compile -- binaryApp case
Correctness theorem for Opt.compile -- getAttr case
Correctness theorem for Opt.compile -- hasAttr case
Correctness theorem for Opt.compile -- set case
Correctness theorem for Opt.compile -- record case
Correctness theorem for Opt.compile -- call case
Correctness theorem for Opt.compile:
Opt.compile produces the same term as SymCC.compile, and
Opt.compile produces the same footprint as footprint