reserve a,x,y for object, A,B for set,
  l,m,n for Nat;

theorem
  for A being Subset of NAT st for n,m st n in A & m < n holds m in A
  holds A is Cardinal
proof
  let A be Subset of NAT such that
A1: for n,m st n in A & m < n holds m in A;
  per cases;
  suppose
    A = {};
    hence thesis;
  end;
  suppose that
A2: A <> {} and
A3: ex m being Nat st for n being Nat st n in A holds n <= m;
    defpred P[set] means $1 in A;
    consider M being Nat such that
A4: for n being Nat st P[n] holds n <= M by A3;
    ex m being Element of NAT st P[m] by A2,SUBSET_1:4;
    then
A5: ex m being Nat st P[m];
    consider m being Nat such that
A6: P[m] and
A7: for n being Nat st P[n] holds n <= m from NAT_1:sch 6(A4,A5);
    A = { l where l is Nat : l < m+1 }
    proof
      thus A c= { l where l is Nat : l < m+1 }
      proof
        let x be object;
        assume
A8:     x in A;
        then reconsider l = x as Nat;
        l <= m by A7,A8;
        then l < m+1 by NAT_1:13;
        hence thesis;
      end;
      let x be object;
      assume x in { l where l is Nat : l < m+1 };
      then consider l being Nat such that
A9:   x = l and
A10:  l < m+1;
      reconsider l as Nat;
      l <= m by A10,NAT_1:13;
      then l < m or l = m by XXREAL_0:1;
      hence thesis by A1,A6,A9;
    end;
    hence thesis by AXIOMS:4;
  end;
  suppose
A11: for m being Nat ex n being Nat st n in A & n > m;
    NAT c= A
    proof
      let x be object;
      assume x in NAT;
      then reconsider m = x as Nat;
      ex n being Nat st n in A & n > m by A11;
      hence thesis by A1;
    end;
    hence thesis by XBOOLE_0:def 10;
  end;
end;
