I've seen two different concepts referred to by the term "function":
- A small part of a program specified by the composition of constants and other functions as paramaters, such as the "functions" in Lisp
- A set of tuples, as referred to in formal logic, which is not necessarily computable
The first concept is very fundamental to software design. The second concept is very fundamental to formal reasoning. However, a task I've been working on is analyzing software with formal logic, so the conflation of the terms is a bother.
Is there any agreed upon, concise, unambiguous terminology to distinguish these two ideas? I can think of several verbose terms, such as "Computable Function" and "General Function", but imagine having to type that out with the specification of every modular component.
Any references, ideas, or supported opinions are appreciated, thanks.