reserve i for Nat, x,y for set;
reserve S for non empty non void ManySortedSign;
reserve X for non-empty ManySortedSet of S;

theorem Th60:
  for n being Nat, s being set
  for S1,S2 being BoolSignature st
    the bool-sort of S1 = the bool-sort of S2 &
    len the connectives of S2 >= 3 &
    for i st i >= 1 & i <= 3 holds
    (the Arity of S1).((the connectives of S1).i)
    = (the Arity of S2).((the connectives of S2).i) &
    (the ResultSort of S1).((the connectives of S1).i)
    = (the ResultSort of S2).((the connectives of S2).i)
  holds S1 is bool-correct implies S2 is bool-correct
  proof
    let n be Nat;
    let s be set;
    let S1,S2 be BoolSignature;
    assume A1: the bool-sort of S1 = the bool-sort of S2;
    assume A2: len the connectives of S2 >= 3;
    assume A3: for i st i >= 1 & i <= 3 holds
    (the Arity of S1).((the connectives of S1).i)
    = (the Arity of S2).((the connectives of S2).i) &
    (the ResultSort of S1).((the connectives of S1).i)
    = (the ResultSort of S2).((the connectives of S2).i);
    set B = S1;
    assume
A4: len the connectives of B >= 3 &
    (the connectives of B).1 is_of_type {}, the bool-sort of B &
    (the connectives of B).2 is_of_type <*the bool-sort of B*>,
    the bool-sort of B &
    (the connectives of B).3 is_of_type
    <*the bool-sort of B, the bool-sort of B*>, the bool-sort of B;
    thus len the connectives of S2 >= 3 by A2;
    thus (the Arity of S2).((the connectives of S2).1)
    = (the Arity of S1).((the connectives of S1).1) by A3
    .= {} by A4;
    thus (the ResultSort of S2).((the connectives of S2).1)
    = (the ResultSort of S1).((the connectives of S1).1) by A3
    .= the bool-sort of S2 by A1,A4;
    thus (the Arity of S2).((the connectives of S2).2)
    = (the Arity of S1).((the connectives of S1).2) by A3
    .= <*the bool-sort of S2*> by A1,A4;
    thus (the ResultSort of S2).((the connectives of S2).2)
    = (the ResultSort of S1).((the connectives of S1).2) by A3
    .= the bool-sort of S2 by A1,A4;
    thus (the Arity of S2).((the connectives of S2).3)
    = (the Arity of S1).((the connectives of S1).3) by A3
    .= <*the bool-sort of S2,the bool-sort of S2*> by A1,A4;
    thus (the ResultSort of S2).((the connectives of S2).3)
    = (the ResultSort of S1).((the connectives of S1).3) by A3
    .= the bool-sort of S2 by A1,A4;
  end;
