The first assumption ( A = B -> ( ps <-> ch ) ) is the idiomatic way to say that ch is the result of substituting A for B in ps, and there are many theorems that produce results of this form. The theorem is still true when you only have a one-directional implication (in fact the first step of the proof is to weaken it to one), but users of the theorem will normally have the biconditional on hand so it is more convenient to write it that way to make the theorems more interoperable.
This theorem is true in any classical logic, so it holds in both NF and ZFC. (It does not hold in
iset.mm, which uses intuitionistic logic, because there is a case distinction on A = B in this theorem.)