reserve a, I for set,
  S for non empty non void ManySortedSign;

theorem
  for S being non empty ManySortedSign for A being non-empty MSAlgebra
  over S for f, g being Element of product the Sorts of A
 st for i being object
  holds proj(the Sorts of A,i).f = proj(the Sorts of A,i).g holds f = g
proof
  let S be non empty ManySortedSign, A be non-empty MSAlgebra over S, f, g be
  Element of product the Sorts of A such that
A1: for i being object
   holds proj(the Sorts of A,i).f = proj(the Sorts of A ,i).g;
  set X = the Sorts of A;
  now
    thus dom f = dom X by CARD_3:9
      .= dom g by CARD_3:9;
    let x be object such that
    x in dom f;
A2: dom (proj(X,x)) = product X by CARD_3:def 16;
    hence f.x = proj(X,x).f by CARD_3:def 16
      .= proj(X,x).g by A1
      .= g.x by A2,CARD_3:def 16;
  end;
  hence thesis;
end;
