Discrete mathematics is part of mathematics devoted to study of discrete objects (distinct or unconnected object)

## Why

- Ability to understand and create mathematical arguments
- Provides foundation for many computer science courses including data structures, algorithms, compiler design, etc;

### What kind of problems can be solved by discrete mathematics

- How many ways to choose valid password on a computer system?
- How many steps is required to do such sorting ?
- How can it proved that sorting algorithm correctly sorts a list?
- How many valid internet addresses are there ?

## Logic and proof

### Logic

The rules of logic specify the meaning of mathematical statements and helps us understand and reason with statements such as

`There exists number which is not sum of two squares`

,

`For every positive integer n, sum of positive integers not exceeding n is n*(n+1)/2`

.

Logic is basis for all mathematical reasoning and computed reasoning.

### Proof

To understand mathematics, we must understand what makes up a correct mathematical argument, that is proof.

One we prove mathematical argument is true, we call a theorem, a collection of theorem on a topic organize what we know about a topic.

Proofs are used to verify that computer program produce correct output for all possible input values to show that algorithm always produce correct result

to establish security of the system.

## Discussion