reserve a,b,p,x,x9,x1,x19,x2,y,y9,y1,y19,y2,z,z9,z1,z2 for object,
   X,X9,Y,Y9,Z,Z9 for set;
reserve A,D,D9 for non empty set;
reserve f,g,h for Function;
reserve A,B for set;
reserve x,y,i,j,k for object;
reserve x for set;
reserve x for object;
reserve A1,A2,B1,B2 for non empty set,
  f for Function of A1,B1,
  g for Function of A2,B2,
  Y1 for non empty Subset of A1,
  Y2 for non empty Subset of A2;

theorem
  for f being PartFunc of [:A1,A1:],A1, g being PartFunc of [:A2,A2
:],A2 for F being PartFunc of [:Y1,Y1:],Y1 st F = f||Y1 for G being PartFunc of
  [:Y2,Y2:],Y2 st G = g||Y2 holds |:F,G:| = |:f,g:| ||[:Y1,Y2:]
proof
  let f be PartFunc of [:A1,A1:],A1, g be PartFunc of [:A2,A2:],A2;
  let F be PartFunc of [:Y1,Y1:],Y1 such that
A1: F = f||Y1;
A2: dom F c= dom f by A1,RELAT_1:60;
  let G be PartFunc of [:Y2,Y2:],Y2 such that
A3: G = g||Y2;
  set X = dom|:F,G:|;
A4: dom G c= dom g by A3,RELAT_1:60;
A5: X = dom(|:f,g:| ||[:Y1,Y2:])
  proof
    thus X c= dom(|:f,g:| ||[:Y1,Y2:])
    proof
      let x be object;
      assume x in X;
      then consider x11,x21,x12,x22 being object such that
A6:   x = [[x11,x12],[x21,x22]] and
A7:   [x11,x21] in dom F and
A8:   [x12,x22] in dom G by Def3;
A9:  x12 in Y2 by A8,ZFMISC_1:87;
A10:  x22 in Y2 by A8,ZFMISC_1:87;
      x21 in Y1 by A7,ZFMISC_1:87;
      then
A11:  [x21,x22] in [:Y1,Y2:] by A10,ZFMISC_1:87;
      x11 in Y1 by A7,ZFMISC_1:87;
      then [x11,x12] in [:Y1,Y2:] by A9,ZFMISC_1:87;
      then
A12:  x in [:[:Y1,Y2:],[:Y1,Y2:]:] by A6,A11,ZFMISC_1:87;
      x in dom|:f,g:| by A2,A4,A6,A7,A8,Def3;
      then x in dom|:f,g:|/\[:[:Y1,Y2:],[:Y1,Y2:]:] by A12,XBOOLE_0:def 4;
      hence thesis by RELAT_1:61;
    end;
    let x be object;
A13: dom F = (dom f)/\[:Y1,Y1:] by A1,RELAT_1:61;
    assume x in dom(|:f,g:| ||[:Y1,Y2:]);
    then
A14: x in dom|:f,g:|/\[:[:Y1,Y2:],[:Y1,Y2:]:] by RELAT_1:61;
    then
A15: x in [:[:Y1,Y2:],[:Y1,Y2:]:] by XBOOLE_0:def 4;
A16: dom G = (dom g)/\[:Y2,Y2:] by A3,RELAT_1:61;
    x in dom|:f,g:| by A14,XBOOLE_0:def 4;
    then consider x11,x21,x12,x22 being object such that
A17: x = [[x11,x12],[x21,x22]] and
A18: [x11,x21] in dom f and
A19: [x12,x22] in dom g by Def3;
A20: [x21,x22] in [:Y1,Y2:] by A17,A15,ZFMISC_1:87;
    then
A21: x22 in Y2 by ZFMISC_1:87;
A22: [x11,x12] in [:Y1,Y2:] by A17,A15,ZFMISC_1:87;
    then x12 in Y2 by ZFMISC_1:87;
    then [x12,x22] in [:Y2,Y2:] by A21,ZFMISC_1:87;
    then
A23: [x12,x22] in dom G by A19,A16,XBOOLE_0:def 4;
A24: x21 in Y1 by A20,ZFMISC_1:87;
    x11 in Y1 by A22,ZFMISC_1:87;
    then [x11,x21] in [:Y1,Y1:] by A24,ZFMISC_1:87;
    then [x11,x21] in dom F by A18,A13,XBOOLE_0:def 4;
    hence thesis by A17,A23,Def3;
  end;
 now
    let x be set;
    assume
A25: x in X;
    then consider x11,x21,x12,x22 being object such that
A26: x = [[x11,x12],[x21,x22]] and
A27: [x11,x21] in dom F and
A28: [x12,x22] in dom G by Def3;
    thus |:F,G:|.x = |:F,G:|.([x11,x12],[x21,x22]) by A26
      .= [F.(x11,x21),G.(x12,x22)] by A27,A28,Def3
      .= [f.[x11,x21],G.[x12,x22]] by A1,A27,FUNCT_1:47
      .= [f.(x11,x21),g.(x12,x22)] by A3,A28,FUNCT_1:47
      .= |:f,g:|.([x11,x12],[x21,x22]) by A2,A4,A27,A28,Def3
      .= (|:f,g:| ||[:Y1,Y2:]).x by A5,A25,A26,FUNCT_1:47;
  end;
  then
A29: for x being Element of [:[:Y1,Y2:],[:Y1,Y2:]:] st x in X holds |:F,G:|.
  x = (|:f,g:| ||[:Y1,Y2:]).x;
  thus thesis by A5,A29;
end;
