In logic, a predicate is a statement with (potentially) a free variable in it. More specifically, a predicate in (say) the variables is a statement whose free variables may include , , and ; a predicate on (say) the types is a statement whose free variables may include a variable of type , a variable of type , and a variable of type .
The term ‘proposition’ may be used synonymously with ‘predicate’, or it may be restricted to the case when there are no free variables.
In modern logic, it's often cleaner to speak of the propositions (or predicates) that can be stated in any given context; the context specifies the free variables available.