 reserve x,y,X,Y for set;
reserve G for non empty multMagma,
  D for set,
  a,b,c,r,l for Element of G;
reserve M for non empty multLoopStr;
reserve H for non empty SubStr of G,
  N for non empty MonoidalSubStr of G;

theorem Th30:
  G is unital & the_unity_wrt the multF of G in the carrier of H implies
    H is unital &
  the_unity_wrt the multF of G = the_unity_wrt the multF of H
proof
  set e9 = the_unity_wrt op(G);
  assume G is unital;
  then
A1: e9 is_a_unity_wrt op(G) by Th4;
  assume the_unity_wrt op(G) in carr(H);
  then reconsider e = the_unity_wrt op(G) as Element of H;
A2: now
    let a be Element of H;
    carr(H) c= carr(G) by Th23;
    then reconsider a9 = a as Element of G;
    thus e*a = e9*a9 by Th25
      .= a by A1,BINOP_1:3;
    thus a*e = a9*e9 by Th25
      .= a by A1,BINOP_1:3;
  end;
  hence H is unital;
  now
    let a be Element of H;
    e*a = op(H).(e,a) & a*e = op(H).(a,e);
    hence op(H).(e,a) = a & op(H).(a,e) = a by A2;
  end;
  then e is_a_unity_wrt op(H) by BINOP_1:3;
  hence thesis by BINOP_1:def 8;
end;
