simplifying predicates



Another idea is to phrase predicates in terms of set membership,
e.g.

  x in odd_numbers

or

  x in { x s.t. x in Z and mod(x, 2) = 1 }

or something, so x in foo_set is just a circumlocution for foo_p(x).

I believe that could be workable, although I'm not too crazy
about it, since I was secretly or not-so-secretly hoping that
sets could be implemented in terms of predicates instead of
vice versa.

A symbolic set implementation could, by convention, avoid
evaluating literal predicates e.g. { x s.t. oddp(x) } but that
would be confusing to explain since otherwise oddp(x) is
always evaluated.

best

Robert Dodier