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 Th67:
  ATLEAST-(A,0) = ATLEAST(A)
  proof
    per cases;
    suppose the carrier of X = {}; then
      ATLEAST-(A,0) = {} & ATLEAST(A) = {};
      hence thesis;
    end;
    suppose
A1:   the carrier of X <> {}; then
A2:   ATLEAST-(A,0) = {x: card((rng A)\x ref) <= 0} by Def34;
A3:   ATLEAST(A) = {x: rng A c= x ref} by A1,Def31;
      thus ATLEAST-(A,0) c= ATLEAST(A)
      proof
        let z be object; assume z in ATLEAST-(A,0); then
        consider x such that
A4:     z = x & card((rng A)\x ref) <= 0 by A2;
        (rng A)\x ref = {} by A4,NAT_1:3; then
        rng A c= x ref by XBOOLE_1:37;
        hence thesis by A4,A3;
      end;
      let z be object; assume z in ATLEAST(A); then
      consider x such that
A5:   z = x & rng A c= x ref by A3;
      (rng A)\x ref = {} by A5,XBOOLE_1:37; then
      card((rng A)\x ref) = 0;
      hence z in ATLEAST-(A,0) by A2,A5;
    end;
  end;
