Yahzi said:
That's not the argument from ignorance - that is the default position of reason! If you can't prove it true, then it is, by default, false. Yes. This is called "reason."
My posting yesterday on this thread was quite concise since I had to hurry to a bus (which I still promptly missed as my workstation's clock is four minutes late).
But anyway, if you take that approach and apply it consistently, you'll end up really quickly in rather absurd conclusions.
For example, I can't prove that I slept last night. Using your reasoning, this means that I wasn't sleeping last night. However, I can't prove that I was awake, either. So, I wasn't awake. Now, if I wasn't sleeping and wasn't awake, what state was I in?
For a more formal example, consider the case where we have the set S = { a, b, c, } of propositional atoms and the set C = { a, a or b, not b or not c, not c } of four clauses. In classical logic, there are two basic approaches to examine the clauses and truth values of the atoms:
(1) we can examine the models of C; or
(2) we can examine the set of logical consequences of C.
As for the first case, C has two models (a truth assigment over atoms of S is a model of C it it makes all clauses in it true):
M_1 = { a, b, not c }
M_2 = { a, not b, not c }
As you see, a and c have the same truth values in both models, but the truth value of b doesn't affect the truth value of C.
If we take your approach that "if something can't be proven true it is false", then we have to reject M_1, since we can't prove that b is true. However, there is absolutely no reason to say that M_1 is not a model. After all, it satisfies all four clauses.
The set of logical consequences of C is the set of atoms that are true in all models of C. As C is satisfiable, this is simply the intersection of M_1 and M_2:
Concl(C) = { a, not c }
Again, you note that b is missing from the set. If your argument was true, then there should be "not b" in Concl(C).
The two above cases correspond to "brave" and "cautious" reasoning. An atom is
possibly true ("brave") if it is true in at least one model, and it is
necessarily true ("cautious") if it true in all of them.
But in a way you are correct since human reasoning is usually not classical. If somebody tells me that Tweety is a bird, then my default position is that Tweety can fly, even though I can't justify that using classical logic. However, if someone then tells me that Tweety is actually a penguin, my beliefs change into the direction that barring same extraordinary conditions Tweety can't fly. [But of course we all know that the SuperPenguin can fly without any troubles.]
There are a number of different non-monotonic semantics for logical sentences that are closer to the way how humans think (the most well-known example being probably Reiter's Default Logic). They are often much more convenient to use than classical logic in the knowledge representation sense as the existence of default values removes most of the burden of problem modeling from the shoulders of the modeler.