例如「所有鳳凰都是有 翅膀 的」和「沒有鳳凰是有 翅膀 的」兩句,在經典邏輯( classical logic )裏可以同時為真:因為這兩句的邏輯結構被分析為 ‘(x)(Fx --> Wx)’ 和 ‘(x)(Fx --> ~Wx)’ ,假如鳳凰並不存在,這兩句皆為真。你可能認為這沒甚麼問題,因為鳳凰是神話傳說,怎麼說也沒所謂,可是,同樣的邏輯可以應用到以下兩句:
(a) 擅自闖入此禁區者送官究治。
(b) 擅自闖入此禁區者不會送官究治。
如果 (a) 和 (b) 的邏輯結構分別是 ‘(x)(Tx --> Px)’ 和 ‘(x)(Tx --> ~Px)’ ,那麼,假如沒有人擅自闖入此禁區, (a) 和 (b) 都為真!可是,任何張貼 (a) 為告示的人都會視 (a) 為真、 (b) 為假,也相信看到告示的人會這樣理解。要解決這問題,便要放棄上述的邏輯分析,例如視 (a) 和 (b) 為虛擬條件句( subjunctive conditional )。然而,甚麼(日常語言)句子應這樣分析,甚麼句子應那樣分析,邏輯系統本身是不會說明的。
上述邏輯分析的 ‘-->’ 是實質蘊涵( material implication ), ‘p --> q’ 可以用來表達日常語言裏的「如果 p ,則 q 」( ‘If p, then q’ )。 ‘p --> q’ 在邏輯上等同 ‘~(p & ~q)’ ,即是說, ‘p --> q’ 只有在一個情況下為假:當 ‘p’ 為真而 ‘q’ 為假時。以下推論在邏輯上沒有問題:
(MI) 從 ‘~p’ 推出 ‘~(p & ~q)’ ( i.e. 如果 ‘p’ 為假,那麼 ‘p & ~q’ 必為假),而 ‘~(p & ~q)’ 與 ‘p --> q’ 在邏輯上等同,因此,從 ‘~p’ 可以推出 ‘p --> q’ 。
然而,在日常語言裏,我們是不會這樣推論的,例如由「今天沒有下雨」( ‘~p’ ),推出「如果今天下雨,我們便 放假 」( ‘p --> q’ )。還有,假如無論是否下雨,我們 今天 都要上班,那麼「如果今天下雨,我們便 放假 」看來便是假的 --- 由 ‘~p’ 推出 ‘p --> q’ 看來便是由真命題推出假命題,乃一無效的推論。
這不表示我們不應接受 (MI) ,因為問題可以出在我們對「如果今天下雨,我們便 放假 」一句的分析:當我們視這句為假時,也許是將它理解為反事實條件句( counterfactual conditional );假如「如果今天下雨,我們便 放假 」是實質條件句( material conditional ), (MI) 仍然是適用的。