Definition codeSysPf := 
  (codeSysPf LNT codeLNTFunction codeLNTRelation codeArityLNTF codeArityLNTR
    codeArityLNTFIsPR codeArityLNTRIsPR (LNT2LNN_formula repT) v0).(*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).