This is from a Lewis Carrol Puzzle.

1. There are no pencils of mine in this box.
2. No sugar-plumbs of mine are cigars.
3. The whole of my property, that is not in the box, consists of cigars.

Universe = my things
P = is a pencil
B = in the box
S = is a sugar-plumb
C = is a cigar

1.     B   =>  ! P 
2.     C   =>  ! S
3.    ! B  =>  C

conclusion
   P => ! B => C => !S
   P => !S
   Pencils are not sugar-plums.

Simplify[((B  \[Implies] ¬  
                  P) ∧  (C \[Implies] ¬ S) ∧ (¬ B \[Implies] C)) \[Implies] (P \[Implies] ! S)]

Generating a truth table takes some work, but can be done.  Here's an example.

asString[expr_] := 
        StringTake[
          ToString[Hold[expr]], {6, -2}];
booleans = {True, False};
Clear[a, b];
\(\(logicTable[list_] := 
        Block[{a, b, names}, 
					names = 
            Map[asString, 
              list]; 
					Prepend[
					Flatten[
					Table[a = booleans[\([i]\)]; 
                  b = booleans[\([j]\)]; 
                  list, {i, 1, 2}, {j, 1, 2}]
					, 
                1], 
					names] // 
            TableForm
				];\)
 (*\ \ Put\ the\ entries\ you\ want\ in\ the\ truth\ table\ \(\(here\)\(.\)\)\ \ *) \)
logicTable[{a, b, a && b, a || b, 
        a \[Implies] b, ! a || 
          b,  ! a && ! b,  ! (a || b)}]