GSOC 2011: Set Theory and/or Formal Logic

10 views
Skip to first unread message

Steven Banks

unread,
Mar 22, 2011, 5:35:58 PM3/22/11
to sympy
Hi all!

I am currently a junior at Yale, majoring in Computer Science and
Mathematics. I came across sympy while looking through the GSOC mentor
organization list. A project with sympy sounds like an excellent way
to spend a summer, as it would intersect the two fields I study.

On the mathematics side, I've taken a course in set theory and a
course in mathematical logic, and found them fascinating.
Additionally, I've done calculus, linear algebra, and some vector and
real analysis.

On the computer science side, my education has been mostly in c. I've
taken courses in data structures, systems programming, algorithms, and
operating systems. However, I have done a couple of projects in
python, and found that it was quite easy to catch on and begin writing
clean, simple, correct code. Given the simplicity of python, I don't
think I'm at too much of a disadvantage. Outside of the classroom, I
have interned multiple summers with Zill Computer and Engineering, a
small company in suburban Detroit. There I developed an Android
application (TxtArchive, as part of a team of four, in Java) and wrote
and updated code for an application used by Dow Chemical Company to
track waste (in C++).

A few ideas that come to mind about what can be done in sympy with set
theory and logic are:

- cardinal and ordinal arithmetic
- the ability to "declare" propositions, and then test the truth value
of wffs that are formed by them. eg:
A = true proposition
B = false proposition
A --> B
False
A --> ~B
True
- something similar for set theory. eg:
A = {1, 2, 3}
B = {2, 3}
B ⊆ A
True
1 elementof B
False
- computations of unions, intersections, power sets
- ability to treat numbers as sets (0 = emptyset, 1 = {0}, 2 = {0, 1},
etc) eg:
1 elementof 7
True

As this is the first time I've come across sympy, I intend to explore
it more fully over the next week, and to submit a patch or two as
required.

Please let me know if my ideas are reasonable, and offer me any
suggestions you may have. This is very much a first pass at the idea,
and I expect to have a much stronger grasp of what's what once I've
dived into sympy a little more.

Thanks,
Steven

Haz

unread,
Mar 22, 2011, 5:45:19 PM3/22/11
to sy...@googlegroups.com, Steven Banks

Hi all!

  Hi Steven. Welcome.

A few ideas that come to mind about what can be done in sympy with set
theory and logic are:

- the ability to "declare" propositions, and then test the truth value
of wffs that are formed by them. eg:
 A = true proposition
 B = false proposition
 A --> B
   False
 A --> ~B
   True

  These are all currently implemented in SymPy:

- something similar for set theory. eg:
 A = {1, 2, 3}
 B = {2, 3}
 B ⊆ A
   True
 1 elementof B
   False
- computations of unions, intersections, power sets

  Most of this comes right out of the box with python:
  
As this is the first time I've come across sympy, I intend to explore
it more fully over the next week, and to submit a patch or two as
required.

  I'd suggest poking around the parts of SymPy that interest you to see what's there and what's missing.

  Cheers,
   Christian
Reply all
Reply to author
Forward
0 new messages