reserve x for set,
  R for non empty Poset;
reserve S1 for OrderSortedSign,
  OU0 for OSAlgebra of S1;
reserve s,s1,s2,s3,s4 for SortSymbol of S1;
reserve U0 for non-empty OSAlgebra of S1;

theorem Th44:
  OSAlg_join(U0) is commutative
proof
  set o = OSAlg_join(U0);
  for x,y be Element of OSSub(U0) holds o.(x,y)=o.(y,x)
  proof
    let x,y be Element of OSSub(U0);
    reconsider U1=x,U2=y as strict OSSubAlgebra of U0 by Def14;
    set B=(the Sorts of U1) (\/) (the Sorts of U2);
    the Sorts of U2 is MSSubset of U0 by MSUALG_2:def 9;
    then
A1: the Sorts of U2 c=the Sorts of U0 by PBOOLE:def 18;
    the Sorts of U1 is MSSubset of U0 by MSUALG_2:def 9;
    then the Sorts of U1 c=the Sorts of U0 by PBOOLE:def 18;
    then B c= the Sorts of U0 by A1,PBOOLE:16;
    then
A2: B is MSSubset of U0 by PBOOLE:def 18;
    the Sorts of U1 is OrderSortedSet of S1 & the Sorts of U2 is
    OrderSortedSet of S1 by OSALG_1:17;
    then B is OrderSortedSet of S1 by Th2;
    then reconsider B as OSSubset of U0 by A2,Def2;
A3: U1 "\/"_os U2 = GenOSAlg(B) by Def13;
    o.(x,y) = U1 "\/"_os U2 & o.(y,x) = U2 "\/"_os U1 by Def15;
    hence thesis by A3,Def13;
  end;
  hence thesis by BINOP_1:def 2;
end;
