On Sun, Dec 11, 2011 at 10:10 PM, Dan Christensen <email@example.com> wrote: > Using another kind of computer-like language, DC Proof, we can represent a function f mapping set A to set B as follows: > > ALL(x):[x in A => f(x) in B] (replace "in" by epsilon) >
B = [ f(x) for x in A ]
would work for me but I'd still to flesh out f and set A for this to work. set type supports intersection, union and so on.
One question is how much to stress the set concept, big in the 1960s thanks to New Math and still a feature in Saxon, Singapore etc. (inheritors of much Dolciani -type thinking, subclasses we might say).
Why not just treat sets as one more type and stop trying to consider which type is "most primitive"? I'm from the Wittgensteinian camp on matters mathematical, which nets me some ridicule from Hansen, but I say it saves me time.
I'm not as tempted to waste so many hours on the union and intersection of sets when we could also be playing with lists, tuples etc. Lists of lists, or multi-dimensional lists, are worth relatively more time, sets relatively less.
Along the DM track, we're free to make these base-level pioneering adjustments because we're not hampered by the AM (analog math) detritus, the cultural baggage, the flotsam and jetsam. A new kind of freedom, helps build ubuntu (community spirit).
DC Proof looks interesting. I used to play WFF 'n Proof a lot, used that RPN style if that's what it was, not unlike LISP which they'll hasten to tell you is different etc. Fun world.
> In words: For all x, if x is an element of A, then f(x) is an element B. > > This simple notation completely characterizes all functions of 1 variable. > > In the tutorial included with my program is a worked example (#6) illustrating the composition of functions, e.g. f(g(x)), along with suitable exercises with hints and full solutions. > > Dan > Download my DC Proof 2.0 freeware at http://www.dcproof.com