recorda(+Key, +Term, -Ref)
records the Term in the internal database as the first item for the principal functor of Key; a database reference to the newly-recorded term is returned in Ref.
term, must be nonvar
db_reference, must be var
If Key is a compound term, then 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 brand new, unattributed variables (see ref-sem-sec).
Key is not instantiated
Ref is not a variable