# Inference

In Sudoku, **inference** is the interaction between linked candidates, in particular when they are used in chains or loops.

There is some discussion about the difference between inferences and implications.

There are 2 types of inference. Strong and weak. There are also 2 types of links. Strong links and weak links. The type of link determines what type of inference you can use.

- Weak links allow you to use weak inference only.
- Strong links allow you to use strong inference or weak inference.

## Strong inference

Strong inference is caused by strong links, which can be found in bivalue cells or bilocal units. Strong inference can also stem from patterns with the term **almost** in their name. A well known example is the Almost Locked Set.

For two candidates, named **A** and **B**, the following strong inference deductions can be made:

- If
**A**is false,**B**is true. - If
**B**is false,**A**is true.

Strong inference is represented in most notation systems by an equal sign: **=**.

## Weak inference

Weak inference is caused by any type of link, strong or weak. Two candidates in a single cell or two candidate representing the same digit for two peers all have weak inference that we can use.

For two candidates, named **A** and **B**, the following weak inference deductions can be made:

- If
**A**is true,**B**is false. - If
**B**is true,**A**is false.

Weak inference is represented in most notation systems by a dash sign: `-`

.

## Alternating inference

To create chains or loops, the inference between subsequent pairs of candidates must alternate between strong and weak. Consider the following links:

**A**weak link with**B****B**strong link with**C****C**strong link with**D****D**strong link with**E****E**weak link with**F**

You may be inclined to write the following chain:

A - B = C = D = E - F

However, this chain uses the wrong inference between candidates **C** and **D**. This might be illustrated by showing the list of implications:

- If
**A**is true,**B**is false. - If
**B**is false,**C**is true. - If
**C**is false,**D**is true. - If
**D**is false,**E**is true. - If
**E**is true,**F**is false.

There is no proper connection between the 3rd line and those preceding and succeeding it. Although **C** and **D** have a strong link, we must use weak inference to write a correct chain:

A - B = C - D = E - F

Alternating inference guarantees that the logic is sound from the first to the last node in the chain.