Logtalk reference manual
 
Built-in method: asserta/1
 
asserta/1
Description
asserta(Head)
asserta((Head:-Body))
	Asserts a clause as the first one for an object's dynamic predicate. If the predicate is not already declared, then a dynamic predicate declaration is added to the object.
Template and modes
asserta(+clause)
Errors
	- Head is a variable:
 
		instantiation_error 
	- Head is a neither a variable nor a callable term:
 
		type_error(callable, Head) 
	- Body cannot be converted to a goal:
 
		type_error(callable, Body) 
	- The predicate indicator of Head is that of a private predicate:
 
		permission_error(modify, private_predicate, Head) 
	- The predicate indicator of Head is that of a protected predicate:
 
		permission_error(modify, protected_predicate, Head) 
	- The predicate indicator of Head is that of a static predicate:
 
		permission_error(modify, static_predicate, Head) 
Examples
	- To assert a clause as the first one for any dynamic predicate in this:
 
		asserta(Clause) 
	- To assert a clause as the first one for any public or protected dynamic predicate in self:
 
		::asserta(Clause) 
	- To assert a clause as the first one for any public dynamic predicate in an object:
 
		Object::asserta(Clause)