Is it useful/productive to draw a distinction between "active" things with "computational force" (procedure-like) and "passive" things without such force (collection-like)? Does this distinction have a well-established name? Is adopting a perspective with these notions, even temporarily, just sloppiness?
As a programmer studying mathematics and logic informally, it seems natural to divide up mathematical objects into "objects that do things" and "objects that are basically just bags of data, possibly very large bags". When thinking about a program or explaining it to someone else, it is often useful to adopt a distinction between code and data, even if the language you are working in does not have a crisp code-data distinction.
I'm not saying that some objects are inherently "active" and others are inherently "passive", just that it frequently seems natural to adopt a perspective in which some things are active and others are not.
I'm not sure exactly how to formalize the distinction I'm trying to draw but maybe an example will help.
A mathematical function can be thought of "procedurally" as an opaque process that takes inputs and transforms them into outputs. The main "payoff" of this metaphor is that alarm bells immediately go off in your head when you think about whether two functions are equal. What does it even mean for two processes to be equal if you can't inspect their contents?
A mathematical function can also be thought of as a collection, in at least two obvious ways. One is as a set of pairs:
{ (0, 1), (1, 2), (2, 3), (3, 4), ... }
And the other is as an ordered triple consisting of a domain, a codomain, and a set of pairs:
( ℕ, ℕ, { (0, 1), (1, 2), (3, 4), ... } )
For another example, take classical first order logic with no function symbols.
In one perspective, individual elements of the domain can be thought of as lifeless data and predicates can be thought of peering inside elements of the domain to classify them.
In another perspective, the quantifiers ∀ and ∃ and the logical connectives (∧, ∨, ¬) are the active things and predicates are just collections of elements in the domain.