reserve A, B for non empty set,
  A1, A2, A3 for non empty Subset of A;
reserve X for TopSpace;
reserve X for non empty TopSpace;
reserve X1, X2 for non empty SubSpace of X;
reserve X0, X1, X2, Y1, Y2 for non empty SubSpace of X;
reserve X, Y for non empty TopSpace;
reserve f for Function of X,Y;
reserve X,Y,Z for non empty TopSpace;
reserve f for Function of X,Y,
  g for Function of Y,Z;
reserve X, Y for non empty TopSpace,
  X0 for non empty SubSpace of X;
reserve f for Function of X,Y;
reserve f for Function of X,Y,
  X0 for non empty SubSpace of X;
reserve X, Y for non empty TopSpace,
  X0, X1 for non empty SubSpace of X;
reserve f for Function of X,Y,
  g for Function of X0,Y;
reserve X0, X1, X2 for non empty SubSpace of X;
reserve f for Function of X,Y,
  g for Function of X0,Y;
reserve X for non empty TopSpace,
  H, G for Subset of X;
reserve A for Subset of X;
reserve X0 for non empty SubSpace of X;
reserve X, Y for non empty TopSpace;
reserve X1, X2 for non empty SubSpace of X;
reserve X, Y for non empty TopSpace;

theorem
  for X1, X2, X3 being non empty SubSpace of X, f1 being Function of X1,
Y, f2 being Function of X2,Y, f3 being Function of X3,Y st (X1 misses X2 or f1|
  (X1 meet X2) = f2|(X1 meet X2)) & (X1 misses X3 or f1|(X1 meet X3) = f3|(X1
meet X3)) & (X2 misses X3 or f2|(X2 meet X3) = f3|(X2 meet X3)) holds (f1 union
  f2) union f3 = f1 union (f2 union f3)
proof
  let X1, X2, X3 be non empty SubSpace of X, f1 be Function of X1,Y, f2 be
  Function of X2,Y, f3 be Function of X3,Y such that
A1: X1 misses X2 or f1|(X1 meet X2) = f2|(X1 meet X2) and
A2: X1 misses X3 or f1|(X1 meet X3) = f3|(X1 meet X3) and
A3: X2 misses X3 or f2|(X2 meet X3) = f3|(X2 meet X3);
  set g = (f1 union f2) union f3;
A4: (X1 union X2) union X3 = X1 union (X2 union X3) by TSEP_1:21;
  then reconsider f = g as Function of X1 union (X2 union X3),Y;
A5: X1 union X2 is SubSpace of X1 union (X2 union X3) by A4,TSEP_1:22;
A6: now
    assume
A7: (X1 union X2) meets X3;
    now
      per cases by A7,Th34;
      suppose
A8:     X1 meets X3 & not X2 meets X3;
        then
A9:     (X1 union X2) meet X3 = X1 meet X3 by Th26;
A10:    X1 is SubSpace of X1 union X2 by TSEP_1:22;
        X1 meet X3 is SubSpace of X1 by A8,TSEP_1:27;
        then (f1 union f2)|(X1 meet X3) = ((f1 union f2)|X1)|(X1 meet X3) by
A10,Th72
          .= f1|(X1 meet X3) by A1,Def12;
        hence
        (f1 union f2)|((X1 union X2) meet X3) = f3|((X1 union X2) meet X3
        ) by A2,A8,A9;
      end;
      suppose
A11:    not X1 meets X3 & X2 meets X3;
        then
A12:    (X1 union X2) meet X3 = X2 meet X3 by Th26;
A13:    X2 is SubSpace of X1 union X2 by TSEP_1:22;
        X2 meet X3 is SubSpace of X2 by A11,TSEP_1:27;
        then (f1 union f2)|(X2 meet X3) = ((f1 union f2)|X2)|(X2 meet X3) by
A13,Th72
          .= f2|(X2 meet X3) by A1,Def12;
        hence
        (f1 union f2)|((X1 union X2) meet X3) = f3|((X1 union X2) meet X3
        ) by A3,A11,A12;
      end;
      suppose
A14:    X1 meets X3 & X2 meets X3;
        then X1 meet X3 is SubSpace of X3 & X2 meet X3 is SubSpace of X3 by
TSEP_1:27;
        then
A15:    (X1 meet X3) union (X2 meet X3) is SubSpace of X3 by Th24;
A16:    X2 meet X3 is SubSpace of X2 by A14,TSEP_1:27;
A17:    X1 meet X3 is SubSpace of (X1 meet X3) union (X2 meet X3) by TSEP_1:22;
        then
A18:    (f3|((X1 meet X3) union (X2 meet X3)))|(X1 meet X3) = f3|(X1 meet
        X3) by A15,Th72;
A19:    X1 meet X3 is SubSpace of X1 by A14,TSEP_1:27;
        then
A20:    (X1 meet X3) union (X2 meet X3) is SubSpace of X1 union X2 by A16,Th22;
        then
A21:    ((f1 union f2)|((X1 meet X3) union (X2 meet X3)))|(X1 meet X3) =
        (f1 union f2)|(X1 meet X3) by A17,Th72;
        X2 is SubSpace of X1 union X2 by TSEP_1:22;
        then
A22:    (f1 union f2)|(X2 meet X3) = ((f1 union f2)|X2)|(X2 meet X3) by A16
,Th72
          .= f2|(X2 meet X3) by A1,Def12;
        set v = f3|((X1 meet X3) union (X2 meet X3));
A23:    X2 meet X3 is SubSpace of (X1 meet X3) union (X2 meet X3) by TSEP_1:22;
        then
A24:    (f3|((X1 meet X3) union (X2 meet X3)))|(X2 meet X3) = f3|(X2 meet
        X3) by A15,Th72;
        X1 is SubSpace of X1 union X2 by TSEP_1:22;
        then
A25:    (f1 union f2)|(X1 meet X3) = ((f1 union f2)|X1)|(X1 meet X3) by A19
,Th72
          .= f1|(X1 meet X3) by A1,Def12;
A26:    ((f1 union f2)|((X1 meet X3) union (X2 meet X3)))|(X2 meet X3) =
        (f1 union f2)|(X2 meet X3) by A20,A23,Th72;
        (f1 union f2)|((X1 union X2) meet X3) = ((f1 union f2)|((X1 meet
        X3) union (X2 meet X3))) by A14,TSEP_1:32
          .= (v|(X1 meet X3)) union (v|(X2 meet X3)) by A2,A3,A14,A25,A22,A21
,A26,A18,A24,Th126
          .= v by Th126;
        hence
        (f1 union f2)|((X1 union X2) meet X3) = f3|((X1 union X2) meet X3
        ) by A14,TSEP_1:32;
      end;
    end;
    hence (f1 union f2)|((X1 union X2) meet X3) = f3|((X1 union X2) meet X3);
  end;
  then X1 union X2 is SubSpace of (X1 union X2) union X3 & g|(X1 union X2) =
  f1 union f2 by Def12,TSEP_1:22;
  then
A27: f|(the carrier of (X1 union X2)) = f1 union f2 by Def5;
A28: X3 is SubSpace of X1 union (X2 union X3) by A4,TSEP_1:22;
A29: X2 union X3 is SubSpace of X1 union (X2 union X3) by TSEP_1:22;
  X3 is SubSpace of (X1 union X2) union X3 & g|X3 = f3 by A6,Def12,TSEP_1:22;
  then
A30: f|(the carrier of X3) = f3 by Def5;
A31: X1 union X2 is SubSpace of X1 union (X2 union X3) by A4,TSEP_1:22;
  X3 is SubSpace of X2 union X3 by TSEP_1:22;
  then
A32: (f|(X2 union X3))|X3 = f|X3 by A29,Th72
    .= f3 by A28,A30,Def5;
  X2 is SubSpace of X1 union X2 by TSEP_1:22;
  then
A33: f|X2 = (f|(X1 union X2))|X2 by A31,Th72
    .= (f1 union f2)|X2 by A5,A27,Def5;
  X2 is SubSpace of X2 union X3 by TSEP_1:22;
  then (f|(X2 union X3))|X2 = f|X2 by A29,Th72
    .= f2 by A1,A33,Def12;
  then
A34: f|(X2 union X3) = f2 union f3 by A32,Th126;
  X1 is SubSpace of X1 union X2 by TSEP_1:22;
  then f|X1 = (f|(X1 union X2))|X1 by A31,Th72
    .= (f1 union f2)|X1 by A5,A27,Def5;
  then f|X1 = f1 by A1,Def12;
  hence thesis by A34,Th126;
end;
