reserve p for preProgram of SCM+FSA,
  ic for Instruction of SCM+FSA,
  i,j,k for Nat,
  fa,f for FinSeq-Location,
  a,b,da,db for Int-Location,
  la,lb for Nat;
reserve p1,p2,q for Instruction-Sequence of SCM+FSA;
reserve n for Nat;

theorem Th23:
  for f being FinSeq-Location holds card (bubble-sort f) = 53
proof
  let f be FinSeq-Location;
  set i1= a4:=a3, i2= SubFrom(a3,a0), i3= (a5:=(f,a3)), i4= (a6:=(f,a4)),
  i5= SubFrom(a6,a5), i6= ((f,a3):=a6), i7= ((f,a4):=a5),
  ifc=if>0(a6,i4 ";" i6 ";" i7,Stop SCM+FSA), Cif= card ifc,
  body2= i1 ";" i2 ";" i3 ";" i4 ";" i5 ";" ifc;
   card Stop SCM+FSA = 1 by COMPOS_1:4;
   then
A1: Cif=card (i4 ";" i6 ";" i7) + 1 + 4 by SCMFSA8B:12
    .=6 + 1 + 4 by Th15
    .=11;
A2: card body2 = card (i1 ";" i2 ";" i3 ";" i4 ";" i5) + Cif by SCMFSA6A:21
    .= card (i1 ";" i2 ";" i3 ";" (i4 ";" i5))+Cif by SCMFSA6A:28
    .= card (i1 ";" i2 ";" i3) + card (i4 ";" i5)+Cif by SCMFSA6A:21
    .= 6 + card (i4 ";" i5)+Cif by Th15
    .= 6 + 4+ Cif by SCMFSA6A:35
    .=21 by A1;
  set j1= a2 := a1, j2= SubFrom(a2,a0) , j3= (a3:=len f) ,
  body1= j1 ";" j2 ";" j3 ";" Times(a2,body2);
  A3: card
 body1 = card (j1 ";" j2 ";" j3) + card Times(a2,body2) by SCMFSA6A:21
    .= 6 + card Times(a2,body2) by Th15
    .= 6 + (21 +7) by A2,SCMFSA8C:94
    .= 34;
  set k2= a2:= a0, k3= a3:= a0, k4= a4:= a0, k5= a5:= a0, k6= a6:= a0;
A4: card initializeWorkMem
    = card (k2 ";" k3 ";" k4 ";" k5)+ 2 by SCMFSA6A:34
   .= card (k2 ";" k3 ";" k4 ) + 2+ 2 by SCMFSA6A:34
   .= card (k2 ";" k3 ";" k4 ) + 4
    .= 6 + 4 by Th15
    .= 10;
  set k7=(a1:=len f), Ct=card Times(a1,body1);
A5: Ct=34 + 7 by A3,SCMFSA8C:94;
  thus card (bubble-sort f)
    = card (initializeWorkMem ";" k7)+ Ct by SCMFSA6A:21
    .= 10 + 2 + Ct by A4,SCMFSA6A:34
    .= 53 by A5;
end;
