reserve X,Y,z,s for set, L,L1,L2,A,B for List of X, x for Element of X,
  O,O1,O2,O3 for Operation of X, a,b,y for Element of X, n,m for Nat;
reserve F,F1,F2 for filtering Operation of X;
reserve i for Element of NAT;

theorem Th55:
  for A being FinSequence, a being set holds
  A <> {} & #occurrences(a,A) = len A iff a in meet rng A
  proof
    let A be FinSequence;
    let a be set;
A1: {i: i in dom A & a in A.i} c= dom A
    proof
      let z be object; assume z in {i: i in dom A & a in A.i}; then
      ex i st z = i & i in dom A & a in A.i;
      hence thesis;
    end;
A2: dom A = Seg len A & card Seg len A = len A by FINSEQ_1:57,def 3;
    hereby
      assume
      A <> {}; then
A3:   rng A <> {} by RELAT_1:41;
      assume
A4:   #occurrences(a,A) = len A;
A5:   {i: i in dom A & a in A.i} = dom A by A4,A1,A2,CARD_2:102;
      now
        let z; assume z in rng A; then
        consider s being object such that
A6:     s in dom A & z = A.s by FUNCT_1:def 3;
        consider i such that
A7:     s = i & i in dom A & a in A.i by A5,A6;
        thus a in z by A6,A7;
      end;
      hence a in meet rng A by A3,SETFAM_1:def 1;
    end;
    assume
A8: a in meet rng A;
    thus A <> {} by A8,RELAT_1:38,SETFAM_1:def 1;
    dom A c= {i: i in dom A & a in A.i}
    proof
      let z be object; assume
A9:   z in dom A; then
      A.z in rng A by FUNCT_1:def 3; then
      a in A.z by A8,SETFAM_1:def 1;
      hence thesis by A9;
    end;
    hence #occurrences(a,A) = len A by A2,A1,XBOOLE_0:def 10;
  end;
