reserve a for set,
  i for Nat;
reserve MS for segmental non void 1-element ManySortedSign,
  A for non-empty MSAlgebra over MS;

theorem
  for A,B being Universal_Algebra holds signature A = signature B iff
  MSSign A = MSSign B
proof
A1: for A, B be Universal_Algebra st MSSign A = MSSign B holds signature A =
  signature B
  proof
    let A,B be Universal_Algebra;
    reconsider ff1 = (*-->0)*(signature A) as Function of dom signature A, {0}
    * by MSUALG_1:2;
    reconsider gg1 = (*-->0)*(signature B) as Function of dom signature B, {0}
    * by MSUALG_1:2;
A2: MSSign A = ManySortedSign (#{0},dom signature(A),ff1,dom signature(A)
-->z#) & MSSign B = ManySortedSign (#{0},dom signature(B),gg1,dom signature(B)
      -->z#) by MSUALG_1:10;
    assume
A3: MSSign A = MSSign B;
    now
      let i be Nat;
      assume
A4:   i in dom signature A;
      then reconsider k= (signature A).i as Element of NAT by PARTFUN1:4;
A5:   i in dom ((*-->0)*(signature A)) by A4,FINSEQ_3:120;
      then
A6:   (*-->0).((signature B).i)= ((*-->0)*(signature A)).i
         by A3,A2,FINSEQ_3:120
        .= (*-->0).((signature A).i) by A5,FINSEQ_3:120;
      reconsider m = (signature B).i as Element of NAT by A3,A2,A4,PARTFUN1:4;
      reconsider q = (*-->0).m as FinSequence;
      reconsider p = (*-->0).k as FinSequence;
      thus (signature A).i = len p by Th6
        .= len q by A6
        .= (signature B).i by Th6;
    end;
    hence thesis by A3,A2,FINSEQ_1:13;
  end;
  for A,B be Universal_Algebra st signature A = signature B holds MSSign A
  = MSSign B
  by UNIALG_2:def 1,MSUHOM_1:10;
  hence thesis by A1;
end;
