views:

120

answers:

2

Dear Stack Overflow brethren,

I'm a second-semester junior who will embark upon my thesis soon, and I have an interest in automated deduction and automated theorem provers. As in, I'd like to advance the art in some way (I don't mean that pretentiously, but I do want to do something productive). I've Googled pretty far and wide and so far few promising ideas have emerged. There are a few student project idea pages, but most seem either horribly outdated or too advanced (I was originally going to attempt to synthesize postmodernist thought (hahaha) and abstract its logical content, build a complete and consistent model (if possible, of course), and attempt to automate it, grounding said model as possible in a nonstandard logic a la these. My advisor thought that gave postmodernist thought too much credit (a while ago I reimplemented the Postmodernism Generator in Haskell with Parsec, so that is in part where the idea came from); I am tempted to concur.)

So, yeah. Does anyone have ideas? I apologize if there is some obvious gap in my approach here/if I haven't appropriately done my homework (and if there is one, please tell me!), but in large part I don't even know where to start, and thank you for reading all that.

+2  A: 

Some negative advice. I'd avoid focusing on either boolean or first-order logic. They are areas that have been studied heavily, enough so that the limits of what is possible are fairly well understood. (There are even competitions to make FOL theorem provers.)

You might be able to make more progress looking at formal language descriptions like ontologies. I believe (but might be corrected) that the boundary between what is tractable, especially with an AI-assisted reasoner, and what is describable in full OWL is still not fully explored. The other ontology-related thing you could look at is ways to support more automated creation of ontologies in particular domains, though that might be a bit too much work for a sub-PhD level thesis.

Donal Fellows
Indeed...CADE has such a competition, and I had no intention on focusing on either of those. My interests are really in nonstandard logics.Thank you so much for the ontologies tip--I'll start looking into that right now!
wsh
+1  A: 

Admitting up front that I'm not particularly well-informed about the field, I've been curious about the utility (and existence) of--for lack of a better term--"unreliable" proof assistant software, particularly as applied to problems that are, in general, intractable or undecidable. Systems based on heuristics or statistical analysis, that make "guesses" and stumble around trying to make things work, or things along those lines. The idea, of course, would be to toss it problems that aren't amenable to more methodical techniques based on exhaustive searching or rigorous deduction, possibly in bits and pieces as a component of an interactive proof assistant.

On the other hand, I don't know to what extent ideas along those lines have been explored already, and I'm not sure it's even a viable technique in the first place (if anyone else does know more, I'd be interested to hear it).

camccann
That's something I've been thinking about...sort of a Monte Carlo approach to ATP? I likewise don't know what the state of the art is, but thanks for the idea!
wsh
@wsh: Yeah, or other similar ideas. For instance, perhaps the closest thing I'm familiar with is Douglas Lenat's work on Automated Mathematician and Eurisko, which is 30 years old! Could his ideas be combined with modern statistical AI techniques to create an automated "conjecture maker" or "proof sketcher"?
camccann
That sounds fascinating and highly promising as a research topic. Unfortunately, it also sounds dissertation-level. I *am* just a lowly undergrad after all.I will give some thought as to whether or not I might be able to do something like that given the scope, but my current "duh!" option that I came to after some contemplation has to do with dependent typing (type systems are something of a specialty of mine?). Good grief, though, your idea is so good that I hope to eventually work on it in some form or another (perhaps you'll do things with it yourself!). Thank you again for all this!
wsh
@wsh: You almost say that like "dependent type systems" and "theorem proving" are different things... ah, good old Curry-Howard. As a matter of fact, some sort of interactive, heuristic-driven speculative type inference for a dependently-typed λ-calculus is where my own interests lie, since type inference for sophisticated type systems is often undecidable or outright impossible. But I'm nowhere near sufficiently knowledgeable about dependent type systems to know how well it would work, or even if it would be useful; I need to at least learn to use Coq, Agda, Epigram, or suchlike.
camccann
Oh, but I know they're not. :) The Curry-Howard (or Curry-Howard-Lambek) isomorphism blew my mind when I first read about it, and it continues to do so.Also, that's a fascinating area of research. Have you looked at Twelf?
wsh