reserve D for non empty set;
reserve f1,f2,f3,f4,f5 for BinominativeFunction of D;
reserve p,q,r,t,w,u for PartialPredicate of D;
reserve d,v,v1 for object;
reserve V,A for set;
reserve i,j,b,n,s,z for Element of V;
reserve i1,j1,b1,n1,s1 for object;
reserve d1,Li,Lj,Lb,Ln,Ls for NonatomicND of V,A;
reserve Di,Dj,Db,Dn,Ds for SCBinominativeFunction 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;
reserve b0 for Complex;

theorem Th8:
  V is non empty & A is complex-containing & A is_without_nonatomicND_wrt V &
  loc/.1, loc/.2, loc/.3, loc/.4, loc/.5 are_mutually_distinct &
  loc,val are_compatible_wrt_5_locs
  implies
  <* valid_power_input(V,A,val,b0,n0),
     power_main_part(A,loc,val),
     PP_and(Equality(A,loc/.1,loc/.4),power_inv(A,loc,b0,n0)) *>
     is SFHT of ND(V,A)
  proof
    set i = loc/.1, j = loc/.2, b = loc/.3, n = loc/.4, s = loc/.5;
    set i1 = val.1, j1 = val.2, b1 = val.3, n1 = val.4, s1 = val.5;
    set D = ND(V,A);
    set p = valid_power_input(V,A,val,b0,n0);
    set f = power_var_init(A,loc,val);
    set g = power_main_loop(A,loc);
    set q = power_inv(A,loc,b0,n0);
    set r = PP_and(Equality(A,i,n),power_inv(A,loc,b0,n0));
    assume
A1: V is non empty & A is complex-containing & A is_without_nonatomicND_wrt V &
    i,j,b,n,s are_mutually_distinct & loc,val are_compatible_wrt_5_locs;
    then
A2: <*p,f,q*> is SFHT of D by Th4;
A3: <*q,g,r*> is SFHT of D by A1,Th7;
    <*PP_inversion(q),g,r*> is SFHT of D by NOMIN_3:19;
    hence thesis by A2,A3,NOMIN_3:25;
  end;
