Fixpoint addExists (m n : nat) (f : Formula) {struct n} : Formula :=
  match n with
  | O => f
  | S n' => existH (n' + m) (addExists m n' f)
  end.

Lemma reduceAddExistsOneWay : forall (n m : nat) (A B : Formula), SysPrf NN (impH A B) -> SysPrf NN (impH (addExists m n A) (addExists m n B)).