Instance CompSpecs : compspecs. make_compspecs prog. Defined.
Definition Vprog : varspecs. mk_varspecs prog. Defined.
Instance nat_id : FileId := { file_id := nat; stdin := 0%nat; stdout := 1%nat }.
Instance file_struct : FileStruct := {| FILEid := ___sFILE64; reent := __reent; f_stdin := __stdin; f_stdout := __stdout |}.
Definition main_spec :=
DECLARE _main
WITH gv : globals
PRE  [] main_pre prog (write_list stdout (string2bytes "Hello, world!
");; write_list stdout (string2bytes "This is line 2.
")) nil gv
POST [ tint ] main_post prog nil gv.
Definition Gprog : funspecs :=
ltac:(with_library prog (ltac:(make_printf_specs prog) ++ [ main_spec ])).

Lemma body_main: semax_body Vprog Gprog f_main main_spec.