End subAllCloseFrom.

(* Specifications: *)
Lemma subToSubAll :
forall (T : fol.System L) (A : fol.Formula L) (v : nat) (s : fol.Term L),
folProof.SysPrf L T
(fol.iffH L (substituteFormula L A v s)
(subAllFormula A
(fun x : nat =>
match eq_nat_dec v x with
| left _ => s
| right _ => fol.var L x
end))).
Lemma subAllSubFormula :
forall (T : fol.System L) (A : fol.Formula L) (v : nat)
(s : fol.Term L) (map : nat -> fol.Term L),
folProof.SysPrf L T
(fol.iffH L (subAllFormula (substituteFormula L A v s) map)
(subAllFormula A
(fun x : nat =>
match eq_nat_dec v x with
| left _ => subAllTerm s map
| right _ => map x
end))).