reserve p,p1,p2,q,r,F,G,G1,G2,H,H1,H2 for ZF-formula,
  x,x1,x2,y,y1,y2,z,z1,z2,s,t for Variable,
  a,X for set;
reserve M for non empty set,
  m,m9 for Element of M,
  v,v9 for Function of VAR,M;
reserve i,j for Element of NAT;

theorem Th152:
  (x1 '=' x2)/(y1,y2) = z1 '=' z2 iff x1 <> y1 & x2 <> y1 & z1 =
x1 & z2 = x2 or x1 = y1 & x2 <> y1 & z1 = y2 & z2 = x2 or x1 <> y1 & x2 = y1 &
  z1 = x1 & z2 = y2 or x1 = y1 & x2 = y1 & z1 = y2 & z2 = y2
proof
  set H = x1 '=' x2, Hz = z1 '=' z2;
  set f = H/(y1,y2);
A1: H.1 = 0 & y1 <> 0 by Th135,ZF_LANG:15;
  H is being_equality;
  then
A2: H is atomic;
  then
A3: len H = 3 by ZF_LANG:11;
  then
A4: dom H = {1,2,3} by FINSEQ_1:def 3,FINSEQ_3:1;
  Hz is being_equality;
  then
A5: Hz is atomic;
  then len Hz = 3 by ZF_LANG:11;
  then
A6: dom Hz = Seg 3 by FINSEQ_1:def 3;
  Var1 Hz = z1 by Th1;
  then
A7: Hz.2 = z1 by A5,ZF_LANG:35;
  Var2 Hz = z2 by Th1;
  then
A8: Hz.3 = z2 by A5,ZF_LANG:35;
A9: Var2 H = x2 by Th1;
  then
A10: H.3 = x2 by A2,ZF_LANG:35;
A11: Var1 H = x1 by Th1;
  then
A12: H.2 = x1 by A2,ZF_LANG:35;
  thus (x1 '=' x2)/(y1,y2) = z1 '=' z2 implies x1 <> y1 & x2 <> y1 & z1 = x1 &
z2 = x2 or x1 = y1 & x2 <> y1 & z1 = y2 & z2 = x2 or x1 <> y1 & x2 = y1 & z1 =
  x1 & z2 = y2 or x1 = y1 & x2 = y1 & z1 = y2 & z2 = y2
  proof
    assume
A13: (x1 '=' x2)/(y1,y2) = z1 '=' z2;
    per cases;
    case
A14:  x1 <> y1 & x2 <> y1;
      2 in dom H & 3 in dom H by A4,ENUMSET1:def 1;
      hence thesis by A12,A10,A7,A8,A13,A14,Def3;
    end;
    case
A15:  x1 = y1 & x2 <> y1;
A16:  2 in dom H & 3 in dom H by A4,ENUMSET1:def 1;
      H.2 = y1 by A2,A11,A15,ZF_LANG:35;
      hence thesis by A10,A7,A8,A13,A15,A16,Def3;
    end;
    case
A17:  x1 <> y1 & x2 = y1;
A18:  2 in dom H & 3 in dom H by A4,ENUMSET1:def 1;
      H.3 = y1 by A2,A9,A17,ZF_LANG:35;
      hence thesis by A12,A7,A8,A13,A17,A18,Def3;
    end;
    case
A19:  x1 = y1 & x2 = y1;
A20:  2 in dom H & 3 in dom H by A4,ENUMSET1:def 1;
      H.2 = y1 & H.3 = y1 by A2,A11,A9,A19,ZF_LANG:35;
      hence thesis by A7,A8,A13,A20,Def3;
    end;
  end;
A21: dom H = Seg 3 by A3,FINSEQ_1:def 3;
A22: dom f = dom H by Def3;
A23: now
    assume
A24: x1 <> y1 & x2 <> y1 & z1 = x1 & z2 = x2;
    now
      let a be object;
      assume
A25:  a in dom H;
      then a = 1 or a = 2 or a = 3 by A4,ENUMSET1:def 1;
      hence Hz.a = f.a by A12,A10,A1,A24,A25,Def3;
    end;
    hence f = Hz by A22,A21,A6,FUNCT_1:2;
  end;
A26: Hz.1 = 0 by ZF_LANG:15;
A27: now
    assume
A28: x1 <> y1 & x2 = y1 & z1 = x1 & z2 = y2;
    now
      let a be object;
      assume
A29:  a in dom H;
      then a = 1 or a = 2 or a = 3 by A4,ENUMSET1:def 1;
      hence Hz.a = f.a by A12,A10,A26,A7,A8,A1,A28,A29,Def3;
    end;
    hence f = Hz by A22,A21,A6,FUNCT_1:2;
  end;
A30: now
    assume
A31: x1 = y1 & x2 = y1 & z1 = y2 & z2 = y2;
    now
      let a be object;
      assume
A32:  a in dom H;
      then a = 1 or a = 2 or a = 3 by A4,ENUMSET1:def 1;
      hence Hz.a = f.a by A12,A10,A26,A7,A8,A1,A31,A32,Def3;
    end;
    hence f = Hz by A22,A21,A6,FUNCT_1:2;
  end;
  now
    assume
A33: x1 = y1 & x2 <> y1 & z1 = y2 & z2 = x2;
    now
      let a be object;
      assume
A34:  a in dom H;
      then a = 1 or a = 2 or a = 3 by A4,ENUMSET1:def 1;
      hence Hz.a = f.a by A12,A10,A26,A7,A8,A1,A33,A34,Def3;
    end;
    hence f = Hz by A22,A21,A6,FUNCT_1:2;
  end;
  hence thesis by A23,A27,A30;
end;
