Douglas Walton's intentionally-fallacious 'Nobody should ever get married' argument


Formalization of deductive argument from

D.N. Walton. Informal Logic: A Pragmatic Approach. Cambridge University Press, 2008.

which goes like this:

Sort Person
People. The axioms are more-literally true if we take it to be the set of people who are not clearly near death. Otherwise Assumption 1 is easily disputable, for example. We should also specify that they are devout Catholics, or something like that, in order for Assertion 1 to be clearly acceptable.
Sort Date - Dates, e.g. 1 Sept 1998
Sort Act
(Classes of) potential actions that, like verbs, are not associated with a particular Person, but unlike most verbs are associated with a particular Date. E.g. "Flying to Ghent on July 6."
Sort Prop
Propositions about the real world; things that will turn out true or false. It is important that they are distinct from 0-ary predicate symbols, as we will have functions that operate on Prop that cannot treat all elements of Prop as just belonging to one of two equivalence classes (depending on whether they are satisfied or not).

Variables p, q, p₁, p₂ are reserved for sort Person.
Variables d, d₁, d₂ are reserved for sort Date.
Variables a, a₁, a₂ are reserved for sort Act.
Variables ψ, φ are reserved for sort Prop.

Doesp(a) : Person × Act → 𝔹 - p performs the action a (on the date specified by a).
LiveWithp₁,p₂(d₁, d₂) : Person × Person × Date × Date → 𝔹
Iff p₁ and p₂ are both alive and share the same main residence during the period from d₁ to d₂, inclusive. False if d₁ > d₂.
Holds(ψ) : Prop → 𝔹 - The given proposition is true (will turn out true).
Compatiblep₁,p₂(d₁, d₂) : Person × Person × Date × Date → 𝔹 - p₁ and p₂ are compatible during the period from d₁ to d₂.
CanSafelyPredictp(ψ, d) : Person × Date × Prop → 𝔹 - On date d, p can safely predict that ψ will be satisfied.
ShouldNotDop(a) : Person × Act → 𝔹 - iff you think p should not do action a
getMarriedTop(d) : Person × DateAct - The action of getting married to p on date d.
makePromised(ψ) : Date × PropAct
To make an utterance, on date d, like “I promise that ψ”, which is directed at someone with the intention of their interpreting it as a sincere and literal statement.
min(d₁,d₂) : Date × DateDate - The earlier of the two dates.
dateOfDeath(p) : PersonDate - Date when the person dies.
Defn firstDeath(p, q) : Person × PersonDate - Date when the first of the two people die.
p,q. firstDeath(p, q) = min(dateOfDeath(p),dateOfDeath(q))
Defn~ liveWithTillDeathp₁,p₂(d) : Person × Person × DateProp - p₁ and p₂ LiveWith each other from d until the first of them dies.
p₁,p₂,d. Holds(liveWithTillDeathp₁,p₂(d)) ⇔ LiveWithp₁,p₂(d, firstDeath(p₁, p₂))
Defn~ compatibleTillDeathp₁,p₂(d) : Person × Person × DateProp - p₁ and p₂ are Compatible with each other from d until the first of them dies.
p₁,p₂,d. Holds(compatibleTillDeathp₁,p₂(d)) ⇔ Compatiblep₁,p₂(d, firstDeath(p₁, p₂))

✓Goal: Nobody should ever get married!
Assertion 1: If Person p₁ marries p₂ (on date d), then p₁ makes the promise (on date d) that they will live together until one of them dies.
p₁,p₂,d. Doesp₁(getMarriedTop₂(d)) ⇒ Doesp₁(makePromised(liveWithTillDeathp₁,p₂(d)))
Assumption 1: Roughly: You can't safely predict that two people will be compatible till death. More precisely: No person p₁, on any date, can safely predict that he or she will be compatible with another person p₂ until one of their deaths.
p₁,p₂,d. ¬CanSafelyPredictp₁(compatibleTillDeathp₁,p₂(d), d)
Assumption 2: If p cannot (on date d) safely predict that ψ will be true, then p should not (on date d) promise that ψ will be true.
p,d,ψ. ¬CanSafelyPredictp(ψ, d) ⇒ ShouldNotDop(makePromised(ψ))
Assumption 3: Two people who are incompatible during a period cannot live together during that period.
p₁,p₂,d₁,d₂. ¬Compatiblep₁,p₂(d₁, d₂) ⇒ ¬LiveWithp₁,p₂(d₁, d₂)
Assertion 2: If p (on date d) can safely predict that ψ will hold, and ψ impies φ, then p (on date d) can safely predict that φ will hold.
p,d,ψ,φ. CanSafelyPredictp(ψ, d) ∧ (Holds(ψ) ⇒ Holds(φ)) ⇒ CanSafelyPredictp(φ, d)
Assertion 3: If p should not do action a₂, and doing a₁ requires doing a₂, then p should not do a₁.
p,a₁,a₂. ShouldNotDop(a₂) ∧ (Doesp(a₁) ⇒ Doesp(a₂)) ⇒ ShouldNotDop(a₁)

comments powered by Disqus