Discrete mathematics is the study of mathematical structures that are fundamentally discrete rather than continuous. In contrast to real numbers that have the property of varying "smoothly", the objects studied in discrete mathematics – such as integers, graphs, and statements in logic^{[1]} – do not vary smoothly in this way, but have distinct, separated values.^{[2]} Discrete mathematics therefore excludes topics in "continuous mathematics" such as calculus and analysis. Discrete objects can often be enumerated by integers. More formally, discrete mathematics has been characterized as the branch of mathematics dealing with countable sets^{[3]} (sets that have the same cardinality as subsets of the integers, including rational numbers but not real numbers). However, there is no exact, universally agreed, definition of the term "discrete mathematics."^{[4]} Indeed, discrete mathematics is described less by what is included than by what is excluded: continuously varying quantities and related notions.
The set of objects studied in discrete mathematics can be finite or infinite. The term finite mathematics is sometimes applied to parts of the field of discrete mathematics that deals with finite sets, particularly those areas relevant to business.
Discrete mathematics has become popular in recent decades because of its applications to computer science. Since algorithms are discrete objects, the mathematical basis of computer science is fundamentally discrete. Discrete mathematics is the mathematical language of computer science. Concepts and notations from discrete mathematics are useful in studying and describing objects and problems in all branches of computer science, such as computer algorithms, programming languages, cryptography, automated theorem proving, and software development. Conversely, computer implementations are significant in applying ideas from discrete mathematics to realworld problems, such as in operations research.
Although the main objects of study in discrete mathematics are discrete objects, analytic methods from continuous mathematics are often employed as well. Number theory in particular sits on the boundary between discrete and continuous mathematics, as does finite topology (the study of finite topological spaces) which is literally the intersection of combinatorics and topology.
Contents 
The history of discrete mathematics has involved a number of challenging problems which have focused attention within areas of the field. In graph theory, much research was motivated by attempts to prove the four color theorem, first stated in 1852, but not proved till 1976 (by Kenneth Appel and Wolfgang Haken, using substantial computer assistance).^{[5]}
In logic, the second problem on David Hilbert's list of open problems presented in 1900 was to prove that the axioms of arithmetic are consistent. Kurt Gödel's second incompleteness theorem, proved in 1931, showed that this was not possible – at least not within arithmetic itself. Hilbert's tenth problem was to determine whether a given polynomial Diophantine equation with integer coefficients has an integer solution. In 1970, Yuri Matiyasevich proved that this could not be done.
The need to break German codes in World War II led to advances in cryptography and theoretical computer science, with the first programmable digital electronic computer being developed at England's Bletchley Park. At the same time, military requirements motivated advances in operations research. The Cold War meant that cryptography remained important, with fundamental advances such as publickey cryptography being developed in the following decades. Operations research remained important as a tool in business and project management, with the critical path method being developed in the 1950s. The telecommunication industry has also motivated advances in discrete mathematics, particularly in graph theory and information theory. Formal verification of statements in logic has been necessary for software development of safetycritical systems, and advances in automated theorem proving have been driven by this need.
Currently, one of the most famous open problems in theoretical computer science is the P = NP problem, which involves the relationship between the complexity classes P and NP. The Clay Mathematics Institute has offered a $1 million US prize for the first correct proof, along with prizes for six other mathematical problems.^{[6]}
Discrete mathematics includes several different topics, listed below
Logic is the study of the principles of valid reasoning and inference, as well as of consistency, soundness, and completeness. As a simple example, in most systems of logic, Peirce's law (((P→Q)→P)→P) is true, and this can be easily verified with a truth table. The study of mathematical proofs is particularly important in logic, and has applications to automated theorem proving and software development.
Set theory is the branch of mathematics that studies sets, which are collections of objects, such as {blue, white, red} or the (infinite) set of all prime numbers. Partially ordered sets and sets with other relations have applications in several areas.
Information theory involves the quantification of information. Closely related is coding theory which is used to design efficient and reliable data transmission and storage methods.
Number theory is concerned with the properties of numbers in general, particularly integers. It has applications to cryptography, cryptanalysis, and cryptology, particularly with regard to prime numbers and primality testing. In analytic number theory, techniques from continuous mathematics are also used.
Combinatorics studies the way in which objects can be combined or arranged, and includes topics such as design theory, enumerative combinatorics, counting, combinatorial geometry, combinatorial topology. Graph theory, the study of networks, is an important part of combinatorics, with many practical applications.
In analytic combinatorics and algebraic graph theory, techniques from continuous mathematics are also used, and algebraic graph theory also has close links with group theory.
Theoretical computer science includes areas of discrete mathematics relevant to computing. It draws heavily on graph theory and logic. Included within theoretical computer science is the study of algorithms for computing mathematical results. Computability studies what can be computed in principle, and has close ties to logic, while complexity studies the time taken by computations. Automata theory and formal language theory are closely related to computability. Computational geometry applies algorithms to geometrical problems, while computer image analysis applies them to representations of images.
Operations research provides techniques for solving practical problems in business and other fields — problems such as allocating resources to maximize profit, or scheduling project activities to minimize risk. Operations research techniques include linear programming, queuing theory, and a continuously growing list of others.
Game theory deals with situations where success depends on the choices of others, which makes choosing the best course of action more complex.
Discretization concerns the process of transferring continuous models and equations into discrete counterparts, often for the purposes of making calculations easier by using approximations. Numerical analysis provides an important example.
There are many concepts in continuous mathematics which have discrete versions, such as discrete calculus, discrete probability distributions, discrete Fourier transforms, discrete geometry, discrete logarithms, discrete differential geometry, discrete exterior calculus, discrete Morse theory, difference equations, and discrete dynamical systems.
In applied mathematics, discrete modelling is the discrete analogue of continuous modelling. In discrete modelling, discrete formulae are fit to data. A common method in this form of modelling is to use recurrence relations.
The time scale calculus is a unification of the theory of difference equations with that of differential equations, which has applications to fields requiring simultaneous modelling of discrete and continuous data.

