fact: Record compiler_t := MkGenComp { gc_link : (nat*list X) -> nat -> nat -> nat; gc_code : (nat*list X) -> nat -> list Y; gc_fst : forall P i, gc_link P i (fst P) = i; gc_out : forall P i j, out_code j P -> gc_link P i j = code_end (i,gc_code P i); gc_sound : forall P i, compiled_sound (gc_link P i) P (i,gc_code P i); gc_complete : forall P i, compiled_complete (gc_link P i) P (i,gc_code P i); }.
imports: List Arith Lia Undecidability.Shared.Libs.DLW.Utils(utils) Undecidability.Shared.Libs.DLW.Code(subcode sss compiler)