Let ^ be the binary AND operator.
Axiom: false ^ P is false for any proposition P.
Axiom: true ^ true is true.
Axiom: Associativity. P ^ Q implies Q ^ P for any propositions P and Q.
Let == be the binary EQUALITY operator.
Axiom: P == unsure and P == false implies a contradiction for any proposition P.
Let L_n be the proposition that logician n wants a beer.
Proposition Q == (L_1 ^ L_2) ^ L_3 (the bartender's question).
Axiom: Q == true implies that the bartender serves all logicians beers.
Let Q_n (logician n's answer) be the value of Q according to logician n. This evaluates to Q with L_n being appropriately substituted.
Q_1 == unsure by joke.
Suppose L_1 == false.
Q_1 == (false ^ L_2) ^ L_3, by (5) and (6.1).
Q_1 == (false ^ L_2) ^ L_3 implies Q_1 == false ^ L_3, by (1.1) and (6.2).
Q_1 == false ^ L_3 implies Q_1 == false, by (1.1) and (6.3).
L_1 == false implies a contradiction, by (2.1) and (6.4).
Therefore L_1 is true, by (6.1) and (6.5).
Q_2 == unsure by joke.
Suppose L_2 == false.
Q_2 == (L_1 ^ false) ^ L_3, by (5) and (8.1).
Q_2 == (L_1 ^ false) ^ L_3 implies Q_2 == (true ^ false) ^ L_3, by (7) and (8.2).
Q_2 == (true ^ false) ^ L_3 implies Q_2 == (false ^ true) ^ L_3, by (1.3) and (8.3).
Q_2 == (false ^ true) ^ L_3 implies Q_2 == false ^ L_3, by (1.1) and (8.4).
Q_2 == false ^ L_3 implies Q_2 == false, by (1.1) and (8.5).
L_2 == false implies a contradiction, by (2.1) and (8.6).
Therefore L_2 == true, by (8.1) and (8.7).
Q_3 == true, by joke.
Suppose L_3 == false.
Q_3 == (L_1 ^ L_2) ^ false, by (5) and (10.1).
Q_3 == (L_1 ^ L_2) ^ false implies Q_3 == (true ^ L_2) ^ false, by (7) and (10.2).
Q_3 == (true ^ L_2) ^ false implies Q_3 == (true ^ true) ^ false, by (9) and (10.3).
Q_3 == (true ^ true) ^ false implies Q_3 == true ^ false, by (1.2) and (10.4).
Q_3 == true ^ false implies Q_3 == false ^ true, by (1.3) and (10.5).
Q_3 == false ^ true implies Q_3 == false, by (1.1) and (10.6).
L_3 == false implies a contradiction, by (2.1) and (10.7).
Therefore L_3 == true, by (10.1) and (10.8).
Q == (L_1 ^ L_2) ^ L_3 implies Q == (true ^ L_2) ^ L_3, by (4) and (7).
Q == (true ^ L_2) ^ L_3 implies Q == (true ^ true) ^ L_3, by (9) and (12).
Q == (true ^ true) ^ L_3 implies Q == (true ^ true) ^ true, by (11) and (13).
Q == (true ^ true) ^ true implies Q == true ^ true, by (1.2) and (14).
Q == true ^ true implies Q == true, by (1.2) and (15).
Q == true implies that the bartender serves all logicians beers, by (4.1) and (16). QED.