reserve S for non void non empty ManySortedSign,
  U1,U2 for MSAlgebra over S,
  o for OperSymbol of S,
  n for Nat;

theorem Th22:
  for U1 being non-empty MSAlgebra over S for U2 be non-empty
MSSubAlgebra of U1, G be ManySortedFunction of U2,U1 st G = id (the Sorts of U2
  ) holds G is_monomorphism U2,U1
proof
  let U1 be non-empty MSAlgebra over S;
  let U2 be non-empty MSSubAlgebra of U1, G be ManySortedFunction of U2,U1;
  set F = id (the Sorts of U2);
  assume
A1: G =id (the Sorts of U2);
  for i be set st i in the carrier of S holds G.i is one-to-one
  proof
    let i be set;
    assume
A2: i in the carrier of S;
    then reconsider
    f = F.i as Function of (the Sorts of U2).i,(the Sorts of U2 ).i
    by PBOOLE:def 15;
    f = id ((the Sorts of U2).i) by A2,Def1;
    hence thesis by A1;
  end;
  then
A3: G is "1-1" by Th1;
  G is_homomorphism U2,U1 by A1,Lm4,Th9;
  hence thesis by A3;
end;
