# and

> **and**(`a`, `b`): [`Truth`](/Jevlish/reference/type-aliases/truth/)

Defined in: [src/logic.ts:15](https://github.com/jacobgoldfarb/Jevlish/blob/83ccd8c0be5f41962c805f7d42ddf1b1f048de89/src/logic.ts#L15)

Kleene three-valued logic. Uncertainty is a first-class value here, so composite conditions combine decisions rather than multiplying probabilities and pretending the product is calibrated.

false AND uncertain -> false true AND uncertain -> uncertain true OR uncertain -> true NOT uncertain -> uncertain

Three-valued AND: false if either side is false; uncertain unless both are true.

## Parameters

| Parameter | Type                                              |
| --------- | ------------------------------------------------- |
| `a`       | [`Truth`](/Jevlish/reference/type-aliases/truth/) |
| `b`       | [`Truth`](/Jevlish/reference/type-aliases/truth/) |

## Returns

[`Truth`](/Jevlish/reference/type-aliases/truth/)