Here's a Prover9 proof [1]. The lower case letters "x, y, z, u, w, v, v5, ... ,vn" in Prover9 are variables. All other lower case letters are nullary functions or equivalently constants. The "|" symbol means logical disjunction or "or". The "-" means logical negation, or "not". You can read "P" as meaning "provable" or "$\vdash$". Assumption 2 "-P(x -> y) | -P(x) | P(y)." via the rule of hyperresolution enables Prover9 to produce results just like condensed detachment does.
% -------- Comments from original proof --------
% Proof 1 at 0.03 (+ 0.01) seconds.
% Length of proof is 76.
% Level of proof is 19.
% Maximum clause weight is 20.
% Given clauses 82.
1 P(-a & -b) # label(non_clause) # label(goal). [goal].
2 -P(x -> y) | -P(x) | P(y). [assumption].
3 P(x -> (y -> x)). [assumption].
4 P((x -> (y -> z)) -> ((x -> y) -> (x -> z))). [assumption].
5 P(x & y -> x). [assumption].
6 P(x & y -> y). [assumption].
7 P(x -> (y -> x & y)). [assumption].
10 P(x | y -> ((x -> z) -> ((y -> z) -> z))). [assumption].
11 P((x <-> y) -> (x -> y)). [assumption].
14 P((-x -> y & -y) -> x). [assumption].
15 P(a <-> b | e). [assumption].
17 P(c & f -> -b). [assumption].
18 P(e -> b). [assumption].
19 P(b -> f). [assumption].
20 P(b -> c). [assumption].
21 -P(-a & -b). [deny(1)].
22 P(x -> (y -> (z -> y))). [hyper(2,a,3,a,b,3,a)].
23 P(((x -> (y -> z)) -> (x -> y)) -> ((x -> (y -> z)) -> (x -> z))).
[hyper(2,a,4,a,b,4,a)].
25 P((x -> y) -> (x -> x)). [hyper(2,a,4,a,b,3,a)].
27 P(x -> (y & z -> y)). [hyper(2,a,3,a,b,5,a)].
29 P(x -> (y & z -> z)). [hyper(2,a,3,a,b,6,a)].
31 P((x -> y) -> (x -> x & y)). [hyper(2,a,4,a,b,7,a)].
32 P(x -> (y -> (z -> y & z))). [hyper(2,a,3,a,b,7,a)].
58 P((x | y -> (x -> z)) -> (x | y -> ((y -> z) -> z))). [hyper(2,a,4,a,b,10,a)].
91 P(x -> ((-y -> z & -z) -> y)). [hyper(2,a,3,a,b,14,a)].
93 P(a -> b | e). [hyper(2,a,11,a,b,15,a)].
107 P(x -> (c & f -> -b)). [hyper(2,a,3,a,b,17,a)].
112 P(x -> (e -> b)). [hyper(2,a,3,a,b,18,a)].
117 P(x -> (b -> f)). [hyper(2,a,3,a,b,19,a)].
122 P(x -> (b -> c)). [hyper(2,a,3,a,b,20,a)].
126 P(x -> (a -> b | e)). [hyper(2,a,3,a,b,93,a)].
132 P(x -> (y -> (e -> b))). [hyper(2,a,3,a,b,112,a)].
149 P((x -> y) -> (x -> (z -> y))). [hyper(2,a,4,a,b,22,a)].
157 P(x -> x). [hyper(2,a,25,a,b,122,a)].
163 P(x -> (y -> y)). [hyper(2,a,3,a,b,157,a)].
196 P((x -> c & f) -> (x -> -b)). [hyper(2,a,4,a,b,107,a)].
204 P(x -> ((y -> z) -> (y -> y & z))). [hyper(2,a,3,a,b,31,a)].
285 P((x -> (-y -> z & -z)) -> (x -> y)). [hyper(2,a,4,a,b,91,a)].
339 P(x | y -> ((y -> x) -> x)). [hyper(2,a,58,a,b,163,a)].
369 P((x -> ((e -> b) -> y)) -> (x -> y)). [hyper(2,a,23,a,b,132,a)].
370 P((a -> (b | e -> x)) -> (a -> x)). [hyper(2,a,23,a,b,126,a)].
371 P((b -> (c -> x)) -> (b -> x)). [hyper(2,a,23,a,b,122,a)].
372 P((b -> (f -> x)) -> (b -> x)). [hyper(2,a,23,a,b,117,a)].
378 P((x & y -> (y -> z)) -> (x & y -> z)). [hyper(2,a,23,a,b,29,a)].
379 P((x & y -> (x -> z)) -> (x & y -> z)). [hyper(2,a,23,a,b,27,a)].
380 P((x -> ((y -> x) -> z)) -> (x -> z)). [hyper(2,a,23,a,b,22,a)].
389 P(b -> (x -> c & x)). [hyper(2,a,371,a,b,32,a)].
407 P(b -> c & f). [hyper(2,a,372,a,b,389,a)].
409 P(b -> -b). [hyper(2,a,196,a,b,407,a)].
418 P(b -> b & -b). [hyper(2,a,31,a,b,409,a)].
424 P(b -> (x -> b & -b)). [hyper(2,a,149,a,b,418,a)].
441 P(b -> x). [hyper(2,a,285,a,b,424,a)].
452 P(x -> (b -> y)). [hyper(2,a,3,a,b,441,a)].
461 P((x -> b) -> (x -> y)). [hyper(2,a,4,a,b,452,a)].
471 P(e -> x). [hyper(2,a,461,a,b,18,a)].
480 P(x -> (e -> y)). [hyper(2,a,3,a,b,471,a)].
494 P((x -> e) -> (x -> y)). [hyper(2,a,4,a,b,480,a)].
506 P((-x -> e) -> x). [hyper(2,a,285,a,b,494,a)].
543 P(b | e -> b). [hyper(2,a,369,a,b,339,a)].
557 P(x -> (b | e -> b)). [hyper(2,a,3,a,b,543,a)].
576 P(a -> b). [hyper(2,a,370,a,b,557,a)].
583 P(x -> (a -> b)). [hyper(2,a,3,a,b,576,a)].
593 P((x -> a) -> (x -> b)). [hyper(2,a,4,a,b,583,a)].
618 P(x -> (y -> y & x)). [hyper(2,a,380,a,b,204,a)].
622 P(--x -> x). [hyper(2,a,285,a,b,618,a)].
670 P(--a -> b). [hyper(2,a,593,a,b,622,a)].
673 P(--b -> x). [hyper(2,a,461,a,b,622,a)].
687 P(--a -> x). [hyper(2,a,461,a,b,670,a)].
694 P(-b). [hyper(2,a,506,a,b,673,a)].
707 P(-a). [hyper(2,a,506,a,b,687,a)].
714 P(x -> x & -a). [hyper(2,a,618,a,b,707,a)].
730 P(-b & -a). [hyper(2,a,714,a,b,694,a)].
800 P(x & y -> (z -> y & z)). [hyper(2,a,378,a,b,32,a)].
827 P(x & y -> y & x). [hyper(2,a,379,a,b,800,a)].
845 P(-a & -b) # label(non_clause) # label(goal). [hyper(2,a,827,a,b,730,a)].
846 $F. [resolve(845,a,21,a)].
1 W. McCune, "Prover9 and Mace4", http://www.cs.unm.edu/~mccune/Prover9, 2005-2010.