# Assertion syntax Psalm’s [assertion annotation](adding_assertions.md) supports a number of different assertions. Psalm assertions are of the form `@psalm-assert(-if-true|-if-false)? (Assertion) (Variable or Property)` `Assertion` here can have many forms: ## Regular assertions ### is_xxx assertions Most `is_xxx` PHP functions have companion assertions e.g. `int` for `is_int`. Here's the full list: - `int` - `float` - `string` - `bool` - `scalar` - `callable` - `countable` - `array` - `iterable` - `numeric` - `resource` - `object` - `null` So a custom version `is_int` could be annotated in Psalm as ```php $foo` ## Negated assertions Any assertion above can be negated: This asserts that `$foo` is not an `int`: ```php