Section Goedel1PA.
(*Let's reuse some of our work from rosserPA*)
Definition T' := T' T.
Definition extendsNN := extendsNN T.
Definition Tprf2T'prf := Tprf2T'prf T.
Definition expressT'1 := expressT'1 T repT v0 expressT1.
Definition expressT'2 := expressT'2 T repT v0 expressT2.
Definition freeVarRepT' := freeVarRepT' repT v0 freeVarRepT.
Definition codeSysPfCorrect :=
codeSysPfCorrect LNT codeLNTFunction codeLNTRelation codeArityLNTF
codeArityLNTR codeArityLNTFIsPR codeArityLNTFIsCorrect1 codeArityLNTRIsPR
codeArityLNTRIsCorrect1 T' extendsNN T (LNT2LNN_formula repT) v0
freeVarRepT' expressT'1.
Definition G := let (a,_) := FixPointLNT (notH (LNN2LNT_formula codeSysPf)) 0 in a.
Definition box (f:Formula) := (substituteFormula LNT (LNN2LNT_formula codeSysPf) 0 (natToTerm (codeFormula f))).

Lemma HBL1 : forall f, SysPrf T f -> SysPrf T (box f).