reserve x,y for set;

theorem Th10:
  for A, B being AltCatStr holds A,B have_the_same_composition iff
for a1,a2,a3,x being object
st x in dom ((the Comp of A).[a1,a2,a3]) & x in dom ((
the Comp of B).[a1,a2,a3]) holds ((the Comp of A).[a1,a2,a3]).x = ((the Comp of
  B).[a1,a2,a3]).x
proof
  let A, B be AltCatStr;
  hereby
    assume
A1: A,B have_the_same_composition;
    let a1,a2,a3,x be object;
    assume x in dom ((the Comp of A).[a1,a2,a3]) & x in dom ((the Comp of B).
    [a1,a2,a3] );
    then
A2: x in dom ((the Comp of A).[a1,a2,a3]) /\ dom ((the Comp of B).[a1,a2,
    a3] ) by XBOOLE_0:def 4;
    (the Comp of A).[a1,a2,a3] tolerates (the Comp of B).[a1,a2,a3] by A1;
    hence
    ((the Comp of A).[a1,a2,a3]).x = ((the Comp of B).[a1,a2,a3]).x by A2;
  end;
  assume
A3: for a1,a2,a3,x being object
st x in dom ((the Comp of A).[a1,a2,a3]) &
x in dom ((the Comp of B).[a1,a2,a3]) holds ((the Comp of A).[a1,a2,a3]).x = ((
  the Comp of B).[a1,a2,a3]).x;
  let a1,a2,a3,x be object;
  assume
  x in dom ((the Comp of A).[a1,a2,a3]) /\ dom ((the Comp of B).[a1,a2 ,a3]);
  then
  x in dom ((the Comp of A).[a1,a2,a3]) & x in dom ((the Comp of B).[a1,a2
  ,a3] ) by XBOOLE_0:def 4;
  hence thesis by A3;
end;
