What is the relationship between semantics and pragmatics? Or, what is the connection between theories regarding formal languages and theories about natural languages?

Based on my (very) limited knowledge of Paul Grice's work, I offer an example of the word 'or'.

Formally speaking, the word 'or' expresses the logical connective 'v'. 'v', called a wedge, is a truth functional binary connective. A formula such as (P v Q) is true if and only if at least one of the disjuncts is true. The formula is false if and only if both disjuncts are false.

There is a rule of inference that allows us to infer from a true proposition P a disjunction containing P. If P is true, then (P v Q) is also true.

This is all well and good in our formal language, but it doesn't seem to make much sense in natural language. Let's say that I make some warranted assertion, like "Madison is the capital of Wisconsin." According to our above-mentioned rule of inference, I am also warranted in asserting something like "Madison is the capital of Wisconsin or the moon is made of Swiss cheese." It seems strange, though, that I would be warranted in asserting something like that.

Grice argues that pragmatically speaking, the rule regarding the use of 'or' is that we only use it when we feel that we aren't quite warranted in asserting either of the disjuncts. Each disjunct of a disjunction makes a stronger claim than the disjunction itself. For instance, the disjunction "The keys are on the desk, or they are on the couch" is a weaker statement than either of the disjuncts. If I was warranted in asserting either disjunct, then I'd have no reason to assert the disjunction.

Ok, that's fine. So how do the two types of 'or' relate? It seems to me that they don't at all. Am I missing something here? What's the connection?