reserve x, x1, x2, y, z, X9 for set,
  X, Y for finite set,
  n, k, m for Nat,
  f for Function;
reserve F,Ch for Function;
reserve Fy for finite-yielding Function;

theorem Th55:
  for Fy be finite-yielding Function,X st dom Fy=X for XFS be
XFinSequence of INT st dom XFS= card X & for n st n in dom XFS holds XFS.n=((-1
  )|^n)*Card_Intersection(Fy,n+1) holds card union rng Fy=Sum XFS
proof
  defpred P[Nat] means for Fy be finite-yielding Function,X st dom
Fy=X & card X=$1 for XFS be XFinSequence of INT st dom XFS= card X & for n st n
in dom XFS holds XFS.n=((-1)|^n)*Card_Intersection(Fy,n+1) holds card union rng
  Fy=Sum XFS;
A1: for k st P[k] holds P[k+1]
  proof
    let k such that
A2: P[k];
    let Fy be finite-yielding Function,X such that
A3: dom Fy=X and
A4: card X=k+1;
    rng Fy is finite & for x st x in rng Fy holds x is finite
      by A3,FINSET_1:8;
    then reconsider urngFy=union rng Fy as finite set;
    let XFS be XFinSequence of INT such that
A5: dom XFS=card X and
A6: for n st n in dom XFS holds XFS.n=((-1)|^n)*Card_Intersection(Fy, n+1);
    per cases;
    suppose
A7:   k=0;
      then len XFS=1 by A4,A5;
      then
A8:   XFS=<%XFS.0%> by AFINSQ_1:34;
      XFS.0 is Element of INT by INT_1:def 2;
      then
A9:   addint "**" XFS=XFS.0 by A8,AFINSQ_2:37;
      0 in dom XFS by A4,A5,A7,CARD_1:49,TARSKI:def 1;
      then
A10:  XFS.0=((-1)|^0)*Card_Intersection(Fy, (0 qua Nat)+1) by A6;
      consider x being object such that
A11:  dom Fy={x} by A3,A4,A7,CARD_2:42;
A12:  rng Fy={Fy.x} by A11,FUNCT_1:4;
      then
A13:  union rng Fy= Fy.x by ZFMISC_1:25;
      (-1)|^0=1 & Fy=x.-->Fy.x by A11,A12,FUNCOP_1:9,NEWTON:4;
      then XFS.0= card union rng Fy by Th45,A13,A10;
      hence thesis by A9,AFINSQ_2:50;
    end;
    suppose
A14:  k>0;
      consider x being object such that
A15:  x in dom Fy by A3,A4,CARD_1:27,XBOOLE_0:def 1;
      reconsider x as set by TARSKI:1;
      set Xx=X\{x};
A16:  card Xx=k by A3,A4,A15,STIRL2_1:55;
      set FyX=Fy|Xx;
      reconsider urngFyX=union rng FyX as finite set;
      set Fyx=Fy.x;
      set I=Intersect(FyX,dom FyX-->Fy.x);
      consider XFyX be XFinSequence of INT such that
A17:  dom XFyX = card Xx and
A18:  for n st n in dom XFyX holds XFyX.n=((-1)|^n)*Card_Intersection
      (FyX,n+1) by Th54;
      urngFyX/\Fy.x=union rng I by Th49;
      then reconsider urngI=union rng I as finite set;
      consider XI be XFinSequence of INT such that
A19:  dom XI = card Xx and
A20:  for n st n in dom XI holds XI.n=((-1)|^n)*Card_Intersection(I,n
      +1) by Th54;
set XI1 = (-1)(#)XI;
      reconsider XI1 as XFinSequence of INT;
      reconsider XcF=<%card Fyx%>,X0=<%0%> as XFinSequence of INT;
      reconsider
      F1=<%card Fyx%>^XI1,F2=XFyX^<%0%> as XFinSequence of INT;
A21:  card Xx=k by A3,A4,A15,STIRL2_1:55;
      reconsider zz=0 as Element of INT by INT_1:def 2;
A22:addint "**" X0 = zz by AFINSQ_2:37;
      card Fyx is Element of INT by INT_1:def 2;
      then A23:addint "**" XcF = card Fyx by AFINSQ_2:37;
A24:  (-1)*Sum XI=Sum XI1 by AFINSQ_2:64;
A25:addint "**" F1 = addint.(card Fyx,addint "**" XI1) by A23,AFINSQ_2:42
       .= card Fyx+(addint "**" XI1) by BINOP_2:def 20
      .= card Fyx+Sum XI1 by AFINSQ_2:50;
A26:(addint "**" F2)=addint.(addint "**" XFyX,0) by A22,AFINSQ_2:42
           .= addint "**" XFyX +zz by BINOP_2:def 20
           .=Sum XFyX  by AFINSQ_2:50;
A27:      Sum (F1^F2) = (Sum F1) + Sum F2 by AFINSQ_2:55
            .= (addint "**" F1) + Sum F2 by AFINSQ_2:50
        .= card Fyx+(-1)*Sum XI+Sum XFyX  by A24,A25,A26,AFINSQ_2:50;
A28:  urngFyX\/Fyx = urngFy by A3,A15,Th53;
A29:  urngFyX/\Fyx=urngI by Th49;
A30:  dom FyX=Xx by A3,RELAT_1:62;
      then dom I=Xx by Th48;
      then
A31:  card urngI=Sum XI by A2,A19,A20,A21;
      len <%card Fyx%>=1 & len XI1=card Xx by A19,AFINSQ_1:33,VALUED_1:def 5;
      then
A32:  len F1=k+1 by A16,AFINSQ_1:17;
A33:  for n be Nat st n in dom XFS holds XFS.n=addint.(F1.n,F2.n)
      proof
        let n be Nat such that
A34:    n in dom XFS;
A35:       n < len XFS by A34,AFINSQ_1:86;
        reconsider N=n as Element of NAT by ORDINAL1:def 12;
        per cases;
        suppose
A36:      n=0;
A37:       0 in Segm k by A14,NAT_1:44;
          k=dom XFyX by A3,A4,A15,A17,STIRL2_1:55;
          then
A38:      F2.0=XFyX.0 & XFyX.0=((-1)|^0)*
          Card_Intersection(FyX,(0 qua Nat)+1) by A18,AFINSQ_1:def 3,A37;
          F1.0=card Fyx & (-1)|^0=1 by AFINSQ_1:35,NEWTON:4;
          then
A39:      addint.(F1.0,F2.0)
               =card Fyx+Card_Intersection(FyX,(0 qua Nat)+1) by A38,
BINOP_2:def 20;
A40:      (-1)|^0=1 by NEWTON:4;
          XFS.0=((-1)|^0)*Card_Intersection(Fy,(0 qua Nat)+1) by A6,A34,A36;
          hence thesis by A3,A15,A36,A39,A40,Th47;
        end;
        suppose
A41:      n>0;
          then reconsider n1=n-1 as Element of NAT by NAT_1:20;
A42:      len <%card Fyx%>=1 by AFINSQ_1:33;
A43:      card Xx=k by A3,A4,A15,STIRL2_1:55;
A44:      n < k+1 by A4,A5,A35;
          then
A45:      n<=k by NAT_1:13;
A46:      n1<n1+1 by NAT_1:13;
          then n1 <k by A45,XXREAL_0:2;
          then n1 < len XI by A19,A43;
          then n1 in dom XI by AFINSQ_1:86;
          then
A47:      XI1.n1=(-1)*XI.n1 & XI.n1=((-1)|^n1)*Card_Intersection(I,n1+1)
          by A20,VALUED_1:6;
          (0 qua Nat)+1<=n by A46,NAT_1:13;
          then F1.n=((-1)*((-1)|^n1))*Card_Intersection(I,n1+1) by A32,A44,A42
,A47,AFINSQ_1:19;
          then
A48:      F1.n=((-1)|^(n1+1))*Card_Intersection(I,n1+1) by NEWTON:6;
A49:      XFS.n=((-1)|^n)*Card_Intersection(Fy,n+1) by A6,A34;
          Card_Intersection(Fy,n+1)= Card_Intersection(FyX,n+1)+
          Card_Intersection (I,N) by A3,A15,A30,A41,Th52;
          then
A50:      XFS.n=((-1)|^n)*Card_Intersection(FyX,n+1)+ ((-1)|^n)*
          Card_Intersection(I,N) by A49;
          per cases by A45,XXREAL_0:1;
          suppose
            n<k;
            then
A51:        n in Segm k by NAT_1:44;
            card Xx=k by A3,A4,A15,STIRL2_1:55;
            then XFyX.n=((-1)|^n)*Card_Intersection(FyX,n+1) & F2.n=XFyX.n by
A17,A18,A51,AFINSQ_1:def 3;
            hence thesis by A50,A48,BINOP_2:def 20;
          end;
          suppose
A52:        n=k;
            then n=card Xx by A3,A4,A15,STIRL2_1:55;
            then n+1>card Xx by NAT_1:13;
            then
A53:        Card_Intersection(FyX,n+1)=0 by A30,Th42;
            n=len XFyX by A3,A4,A15,A17,A52,STIRL2_1:55;
            then F2.n=0 by AFINSQ_1:36;
            hence thesis by A50,A48,A53,BINOP_2:def 20;
          end;
        end;
      end;
      card urngFyX=Sum XFyX by A2,A30,A17,A18,A21;
      then
A54:  card urngFy= Sum XFyX+card Fyx-Sum XI by A31,A28,A29,CARD_2:45;
A55:  len <%0%>=1 by AFINSQ_1:33;
      len XFyX=card Xx by A17;
      then
A56:  len F2=k+1 by A55,A16,AFINSQ_1:17;
A57: len XFS=k+1 by A4,A5;
     Sum XFS = addint "**" XFS by AFINSQ_2:50
           .= addint "**" (F1^F2)
                        by A32,A56,A33,A57,AFINSQ_2:46
                      .= Sum (F1^F2) by AFINSQ_2:50;
      hence thesis by A27,A54;
    end;
  end;
A58: P[0]
  proof
    let Fy be finite-yielding Function,X such that
A59: dom Fy=X and
A60: card X=0;
    dom Fy={} by A59,A60;
    then
A61: rng Fy={} by RELAT_1:42;
    let XFS be XFinSequence of INT such that
A62: dom XFS=card X and
    for n st n in dom XFS holds XFS.n=((-1)|^n)*Card_Intersection(Fy,n+1);
    len XFS=0 by A60,A62;
    then addint "**" XFS = the_unity_wrt addint by AFINSQ_2:def 8
            .= 0  by BINOP_2:4;
    hence thesis by A61,AFINSQ_2:50,ZFMISC_1:2;
  end;
  for k holds P[k] from NAT_1:sch 2(A58,A1);
  hence thesis;
end;
