Remark makeTrace1 :
 forall (f : fol.Formula L) (v : nat) (s : fol.Term L),
 cTriplePi1 (makeTrace f (v, s)) = cTriple v (codeTerm s) (codeFormula f).Remark makeTrace2 :
 forall (f : fol.Formula L) (v : nat) (s : fol.Term L),
 cTriplePi2 (makeTrace f (v, s)) = codeFormula (substituteFormula L f v s).

Lemma checkTraceCorrect : forall (f : fol.Formula L) (v : nat) (s : fol.Term L) (n m : nat), checkSubFormulaTrace (cTriple (cTriple v (codeTerm s) (codeFormula f)) n m) <> 0 -> codeFormula (substituteFormula L f v s) = n.