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;
reserve X for ConstructorDB, A for FinSequence of the Constrs of X,
  x for Element of X;
reserve Y for ref-finite ConstructorDB,
  B for FinSequence of the Constrs of Y,
  y for Element of Y;

theorem Th68:
  ATMOST+(B,0) = ATMOST(B)
  proof
    per cases;
    suppose the carrier of Y = {}; then
      ATMOST+(B,0) = {} & ATMOST(B) = {};
      hence thesis;
    end;
    suppose
A1:   the carrier of Y <> {}; then
A2:   ATMOST+(B,0) = {y: card((y ref)\rng B) <= 0} by Def35;
A3:   ATMOST(B) = {y: y ref c= rng B} by A1,Def32;
      thus ATMOST+(B,0) c= ATMOST(B)
      proof
        let z be object; assume z in ATMOST+(B,0); then
        consider y such that
A4:     z = y & card((y ref)\rng B) <= 0 by A2;
        (y ref)\rng B = {} by A4,NAT_1:3; then
        y ref c= rng B by XBOOLE_1:37;
        hence thesis by A4,A3;
      end;
      let z be object; assume z in ATMOST(B); then
      consider y such that
A5:   z = y & y ref c= rng B by A3;
      (y ref)\rng B = {} by A5,XBOOLE_1:37; then
      card((y ref)\rng B) = 0;
      hence z in ATMOST+(B,0) by A2,A5;
    end;
  end;
