1. An expression which, if false, indicates an error. Assertions are used for debugging by catching can't happen errors.
2. In logic programming, a new fact or rule added to the database by the program at run time. This is an extralogical or impure feature of logic programming languages.