reserve v for object;
reserve V,A for set;
reserve f for SCBinominativeFunction of V,A;
reserve d for TypeSCNominativeData of V,A;
reserve d1 for NonatomicND of V,A;
reserve a,b,c,z for Element of V;
reserve x,y for object;
reserve p,q,r,s for SCPartialNominativePredicate of V,A;
reserve x0,y0 for Nat;

theorem Th20:
  V is non empty & A is_without_nonatomicND_wrt V & a <> b &
  A is complex-containing &
  (for d holds a is_complex_on d) & (for d holds b is_complex_on d)
  implies
  <* gcd_inv(V,A,a,b,x0,y0),
     gcd_conditional_step(V,A,b,a),
     gcd_inv(V,A,a,b,x0,y0) *> is SFHT of ND(V,A)
  proof
    assume that
A1: V is non empty and
A2: A is_without_nonatomicND_wrt V and
A3: a <> b and
A4: A is complex-containing and
A5: (for d holds a is_complex_on d) & (for d holds b is_complex_on d);
    set i = gcd_inv(V,A,a,b,x0,y0);
    set l = less(A,a,b);
A6: <*PP_and(l,i),SC_assignment(subtraction(A,b,a),b),i*> is SFHT of ND(V,A)
    by A1,A2,A3,A4,A5,Th18;
    <*i,PPid(ND(V,A)),i*> is SFHT of ND(V,A) by NOMIN_3:17;
    then <*PP_and(PP_not(l),i),PPid(ND(V,A)),i*> is SFHT of ND(V,A)
    by NOMIN_3:4,15;
    hence thesis by A6,NOMIN_3:21;
  end;
