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
  EXACTLY+-(B,n,m) = ATLEAST-(B,m) AND ATMOST+(B,n)
  proof
    thus EXACTLY+-(B,n,m) c= ATLEAST-(B,m) AND ATMOST+(B,n)
    proof
      let z be object; assume
A1:   z in EXACTLY+-(B,n,m); then
      z in {x where x is Element of Y: card((x ref) \ rng B) <= n &
      card((rng B) \ x ref) <= m} by Def36; then
      consider x being Element of Y such that
A2:   z = x & card((x ref) \ rng B) <= n & card((rng B) \ x ref) <= m;
      z in {y: card((rng B) \ y ref) <= m} by A2; then
A3:   z in ATLEAST-(B,m) by A1,Def34;
      z in {y: card((y ref) \ rng B) <= n} by A2; then
      z in ATMOST+(B,n) by A1,Def35;
      hence z in ATLEAST-(B,m) AND ATMOST+(B,n) by A3,XBOOLE_0:def 4;
    end;
    let z be object; assume
A4: z in ATLEAST-(B,m) AND ATMOST+(B,n); then
A5: z in ATLEAST-(B,m) & z in ATMOST+(B,n) by XBOOLE_0:def 4; then
    z in {y: card((y ref) \ rng B) <= n} by Def35; then
A6: ex y st z = y & card((y ref) \ rng B) <= n;
    z in {y: card((rng B) \ y ref) <= m} by A5,Def34; then
    ex y st z = y & card((rng B) \ y ref) <= m; then
    z in {y: card((y ref) \ rng B) <= n & card((rng B) \ y ref) <= m} by A6;
    hence thesis by A4,Def36;
  end;
