recorda(+Key, +Term, -Ref)
records the Term in the internal database as the first item for the key Key; a database reference to the newly-recorded term is returned in Ref.
atomic, must be nonvar
db_reference, must be var
If Key is a compound term, only its principal functor is
significant. That is,
foo(1) represents the same key as
Any uninstantiated variables in the Term will be replaced by new private variables, along with copies of any subgoals blocked on these variables (see ref-sem-sec).
Key is not instantiated
Ref is not a variable