# logic in the presence of doubt, uncertainty, lies

This is not a gratuitous exercise. This may have applications to computer science, since we are always piping data-sets into each other. Some of these data sources may be specious, the piping process can break down, or the conclusions we draw from them can be wrong as well.

One way of approaching Frankfurt's theory may be to express in terms of logical circuits, where the integrity of the gates or the inputs may be in question.

On pencil and paper, we mostly use boolean logic with values $T,F$ and gates $\mathbf{not},\vee,\wedge$. Maybe it is possible to perturb boolean logic slightly to model how circuits are robus or break down with respect to noise.

Do logical theories exist accounting for doubt and uncertainty? Can we measure how much a lie hurts the integrity of a conclusion?

I'm sure that even with a collection of verifiably true or false statements, it's possible to write arguments (and conclusions) whose values are in the middle. Or even to decide if one argument is "more" valid than another.

I apologize ahead of time, if there's no single question here.

Logic is a very broad subject, but I'm not a logician so I'm not sure how to be more specific. Ease of use is a priority, which is why I consider just bootstrapping Boolean logic.

I think that when we "call out" a proposition... the conclusion may be true, but the thought process may be wrong, as VijayD suggests in the comments.

It's not clear if bulls**t is the same as uncertainty -- we may be quite sure the proof is wrong.

I think it would be nice to see an extension of boolean logic, which assigns a value to proofs rather than statements. A proof where all the steps are valid gets assigned a value of T, if steps are faulty, we'd like to measure to what extent the conclusion doesn't follow from the premises.

This idea must have been tried before. A Google search comes up with the notions like heyting algebra, topos, multi-valued logic and even more sources in the comments and answer.

• This is a really broad question. There are many studies about multivalued logics, which can incorporate values like "unknown". Fuzzy logics deal with a continuous degree of truth, other logics include knowledge or uncertaintly. In short - lots of work on this subject. – Shaull Feb 28 '13 at 14:38
• How can I make this more specific? I'm particularly interested in notions of "bullsh*t" and lying, and making the precise and usable. There are many situations (in boolean logic) where we question the validity of an argument or conclusion, yet some arguments are more valid than others. – john mangual Feb 28 '13 at 15:25
• The question is very open-ended, but I like Harry Frankfurt and I like the idea of trying to formalize what he's doing. (This almost sounds like a question that Manuel Blum would ask!) Still I think it is generally difficult to give appropriate answers in this kind of forum. Someone might point you to existing literature on uncertainty in logic, but it's unlikely we will be able to help you formalize bullsh*t. – Ryan Williams Feb 28 '13 at 15:45
• The word uncertainty is used in different senses in the logical literature. I suggest Joseph Halpern's Reasoning about Uncertainty as one starting point. – Vijay D Feb 28 '13 at 19:23
• Also check the handbook of logic in computer science and AI. There are various many valued logics, and some of them do focus on uncertainty. There is also work in KRR on decision making under uncertainty. I agree with others that the question is too broad and vague. – Kaveh Mar 1 '13 at 3:10

There isn't really a single formalization of the kind of thing you are asking. There are many, many aspects to truth, trust, lies, and fallible reasoning, and this leads to an enormous variety of logical formalisms, each handling different aspects of this problem.

1. If you want to account for uncertainty about your hypotheses, the traditional route is via Bayesian probability theory. See E.T. Jaynes' (sadly incomplete) Probability Theory: the Logic of Science for a good exposition of this point of view.

2. One difficulty with probabilistic methods is that it is difficult to interpret quantifiers, essentially because limits do not necessarily exist. That is, a proposition may hold for all finite approximations, but fail to hold in the infinite limit.

Taking this into account leads you to view propositions topologically, which (a) leads you the Beth semantics of intuitionistic logic, and (b) also leads you to geometric logic. See Steve Vickers' Topology via Logic for an introductory exposition, and Peter Johnstone's Stone Spaces to jump into the deep end of the pool.

(However, to my knowledge there is not yet any satisfactory constructive account of probability theory.)

3. If you are interested in the difference between truth and belief, then you need to look at epistemic logic. The idea is to extend traditional logic with a modality $B_X(A)$, which is intended to read "$X$ believes $A$". See the SEP entry on epistemic logic for an introduction, and follow the bibliographic links in the article for more details.

4. However, when you have multiple agents, you also have to think about the difference between truth and assertion. This is particularly important in applications like authorization (e.g., I can look at a file, because the owner of the file has the right to delegate the right to look at it, and says that I can look at it). There is a huge amount of work on this; a good entry point into this literature is in Deepak Garg's PhD thesis, Proof Theory for Authorization Logic and its Application to a Practical File System.

5. Next, one of the traditional principles of logic is ex falso quodlibet: that is, $\bot \to A$ holds for all propositions $A$ — if you assume false, everything follows. If you are thinking about the possibility of believing false things (for example, someone has lied to you, or you have a database with errors in it), this is potentially disastrous. In practical reasoning, you don't want to derive a contradiction and then happily believe everything — you want to find a contradiction, and deduce that you have made an error.

The study of what happens to logic when you drop ex falso is called relevance logic, so named because the idea is that you should only make inferences from hypotheses that are relevant to the conclusion. Again, see the SEP article on relevance logic for more. Also, you might wish to tolerate contradictions in your logic system. In this case, the thing to look at is paraconsistent logic.

6. Next, you mentioned a worry that individual inferential steps might not be completely reliable. In traditional logic we accept the unrestricted use of modus ponens. That is, inside a proof, if we know $A \to B$ and $A$ hold, we can conclude $B$ holds, any number of times. If you start to consider the idea that individual inferential steps might not be completely reliable, then you might think that proofs depending on long chains of inferential steps are "less reliable" than short ones.

It's a bit tricky to formalize this, but it is one of the (several) motivations for ultrafinitism. See Mannucci and Cherubin's draft Model Theory of Ultrafinitism I: Fuzzy Initial Segments of Arithmetic, for an exploration of this idea (and some explanation of its connection to fuzzy logic).

Finally, note that that none of these approaches actually talk about Frankfurt's idea of bullshit as an assertion which is made with an indifference to its truth value. You probably want to look at J.L. Austin's theory of speech acts (e.g., his book How to Do Things With Words) to help organize your thinking on this, and if you try to formalize it, you will probably find Per Martin-Löf's judgemental methodology (see for example his Siena lectures) helpful.