Algebraic structures can also be viewed as sets, as any \(n\)-ary relation on the elements of a set \(A\) can be viewed as a set of \(n\)-tuples \((a_1,\ldots ,a_n)\) of elements of \(A\). And any \(n\)-ary function \(f\) on \(A\), with values on some set \(B\), can be seen as the set of \(n+1\)-tuples \(((a_1,\ldots ,a_n),b)\) such that \(b\) is the value of \(f\) on \((a_1,\ldots ,a_m)\). Thus, for example, a group is just a triple \((A, +, 0)\), where \(A\) is a non-empty set, \(+\) is a binary function on \(A\) that is associative, \(0\) is an element of \(A\) such that \(a+0=0+a=a\), for all \(a\in A\), and for every \(a\in A\) there is an element of \(A\), denoted by \(-a\), such that \(a+(-a)=(-a)+a=0\). Also, a topological space is just a set \(X\) together with a topology \(\tau\) on it, i.e., \(\tau\) is a subset of \(\mathcal{P}(X)\) containing \(X\) and \({\varnothing}\), and closed under arbitrary unions and finite intersections. Any mathematical object whatsoever can always be viewed as a set, or a proper class. The properties of the object can then be expressed in the language of set theory. Any mathematical statement can be formalized into the language of set theory, and any mathematical theorem can be derived, using the calculus of first-order logic, from the axioms of ZFC, or from some extension of ZFC. It is in this sense that set theory provides a foundation for mathematics.