reserve D for non empty set;
reserve f1,f2,f3,f4 for BinominativeFunction of D;
reserve p,q,r,t,w for PartialPredicate of D;
reserve d,v,v1 for object;
reserve V,A for set;
reserve z for Element of V;
reserve d1 for NonatomicND of V,A;
reserve f for SCBinominativeFunction of V,A;
reserve T for TypeSCNominativeData of V,A;
reserve loc for V-valued Function;
reserve val for Function;
reserve n0 for Nat;

theorem Th12:
  V is non empty & A is_without_nonatomicND_wrt V &
  (for T holds loc/.1 is_a_value_on T & loc/.3 is_a_value_on T)
  implies
  <* PP_and(Equality(A,loc/.1,loc/.3),factorial_inv(A,loc,n0)),
     SC_assignment(denaming(V,A,loc/.4),z),
     valid_factorial_output(A,z,n0) *> is SFHT of ND(V,A)
  proof
    set s = loc/.4;
    <*SC_Psuperpos(valid_factorial_output(A,z,n0),denaming(V,A,s),z),
      SC_assignment(denaming(V,A,s),z),
      valid_factorial_output(A,z,n0)*> is SFHT of ND(V,A) by NOMIN_3:29;
    hence thesis by Th11,NOMIN_3:15;
  end;
