Problem Display
PID: 101455 (8/8/8/pQ3R2/P1P1P3/3K3B/1p3qNR/b4kr1 w - - 0 1)

Stubbs, Arthur Goodwin

Good Companions, 1918

8/8/8/pQ3R2/P1P1P3/3K3B/1p3qNR/b4kr1

#2

9 + 6


6490 yacpdb 2009

SOLUTION


  • SOUND
  • Sets
    • 1...Qf3+
      • 2.Rxf3#
    • 1...Qf4
      • 2.Rxf4#
    • 1...Qxf5
      • 2.Qxf5#
    • 1...Rh1
      • 2.Rxh1#
    • 1...Rxg2
      • 2.Rh1#
    • 1...b1Q+
      • 2.Qxb1#
    • 1...b1S
      • 2.Qxb1#
    • 1...b1B+
      • 2.Qxb1#
    • 1...b1R
      • 2.Qxb1#
  • Tries
    • 1.Se1+?
      • 1...Rg2
        • 2.Rh1#
      • 1...Kxe1!
    • 1.Sh4+?
      • 1...Rg2
        • 2.Rh1#
      • 1...Ke1!
    • 1.Rh1?
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Qxf5
        • 2.Qxf5#
      • 1...Qf4
        • 2.Rxf4#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#
      • 1...Rxh1!
    • 1.Rf3?
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Rh1
        • 2.Rxh1#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#
      • 1...Qxf3+!
    • 1.Rf4?
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Rh1
        • 2.Rxh1#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#
      • 1...Qxf4!
    • 1.Rf6?
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Qf4
        • 2.Rxf4#
      • 1...Qf5
        • 2.Rxf5#
        • 2.Qxf5#
      • 1...Rh1
        • 2.Rxh1#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#
      • 1...Qxf6!
    • 1.Rf7?
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Qf4
        • 2.Rxf4#
      • 1...Qf5
        • 2.Rxf5#
        • 2.Qxf5#
      • 1...Qf6
        • 2.Rxf6#
      • 1...Rh1
        • 2.Rxh1#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#
      • 1...Qxf7!
    • 1.Rf8?
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Qf4
        • 2.Rxf4#
      • 1...Qf5
        • 2.Rxf5#
        • 2.Qxf5#
      • 1...Qf6
        • 2.Rxf6#
      • 1...Qf7
        • 2.Rxf7#
      • 1...Rh1
        • 2.Rxh1#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#
      • 1...Qxf8!
    • 1.Qxb2?
      • threat
        • 2.Rxf2#
        • 2.Qxa1#
        • 2.Qc1#
        • 2.Qb1#
        • 2.Qe2#
        • 2.Qxf2#
      • 1...Qf3+
        • 2.Rxf3#
      • 1...Qxf5
        • 2.Qe2#
      • 1...Rxg2
        • 2.Rh1#
        • 2.Qxa1#
        • 2.Qc1#
        • 2.Qb1#
        • 2.Qxf2#
      • 1...Rh1
        • 2.Rxh1#
        • 2.Qxa1#
        • 2.Qc1#
        • 2.Qb1#
        • 2.Qxf2#
      • 1...Qf4
        • 2.Rxf4#
        • 2.Qe2#
      • 1...Bxb2!
    • 1.Qb3?
      • threat
        • 2.Qd1#
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Qf4
        • 2.Rxf4#
      • 1...b1R
        • 2.Qxb1#
      • 1...Qxf5!
    • 1.Qb4?
      • threat
        • 2.Se3#
        • 2.Qe1#
      • 1...Qf3+
        • 2.Se3#
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Rh1
        • 2.Rxh1#
        • 2.Qe1#
      • 1...b1R
        • 2.Se3#
        • 2.Qxb1#
      • 1...axb4!
    • 1.Qb6?
      • threat
        • 2.Rxf2#
        • 2.Qxf2#
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
        • 2.Qxf2#
      • 1...Rh1
        • 2.Rxh1#
        • 2.Qxf2#
      • 1...Qf4
        • 2.Rxf4#
      • 1...Qxf5!
    • 1.Qb7?
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Qf4
        • 2.Rxf4#
      • 1...Rh1
        • 2.Rxh1#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#
      • 1...Qxf5!
    • 1.Qb8?
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Qf4
        • 2.Rxf4#
        • 2.Qxf4#
      • 1...Rh1
        • 2.Rxh1#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#
      • 1...Qxf5!
    • 1.e5?
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Qf4
        • 2.Rxf4#
      • 1...Rh1
        • 2.Rxh1#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#
      • 1...Qxf5+!
  • Keys
    • 1.c5!
      • threat
        • 2.Kc3#
      • 1...Qf3+
        • 2.Rxf3#
      • 1...b1Q+
        • 2.Qxb1#
      • 1...b1B+
        • 2.Qxb1#
      • 1...Qxf5
        • 2.Ke3#
      • 1...Rxg2
        • 2.Rh1#
      • 1...Qf4
        • 2.Rxf4#
      • 1...Rh1
        • 2.Rxh1#
      • 1...b1S
        • 2.Qxb1#
      • 1...b1R
        • 2.Qxb1#

FEATURES


  • Static
    • TYPE = BLOCK_THREAT
    • CHANGED MATES = 1
    • ADDED MATES = 0
    • REMOVED MATES = 0
  • Sets
    • Q(e);CHECK,OGATEB::R(I),XQ(e)
    • Q(e);OGATEB::R(I),XQ(e)
    • Q(e);N_SPINQ(e),OGATE,P_PINP(G),XR(I)::QAR(H),XQ(e)
    • R(c);OGATEB::R(B),XR(c)
    • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
    • P(d);CHECK,OGATE::QAR(H),XQ(d)
    • P(d);OGATE::QAR(H),XS(d)
    • P(d);CHECK,OGATE::QAR(H),XB(d)
    • P(d);OGATE::QAR(H),XR(d)
  • Tries
    • Try
      • S(A);CHECK
      • Vars
        • R(c);P_SPINR(c)::R(B)
      • Refutation
        • K(b);N_SPINQ(e),P-FLIGHT,XS(A)
    • Try
      • S(A);CHECK
      • Vars
        • R(c);P_SPINR(c)::R(B)
      • Refutation
        • K(b);N_SPINQ(e),P-FLIGHT
    • Try
      • R(B);P_PINR(c)
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • Q(e);N_SPINQ(e),OGATE,P_PINP(G),XR(I)::QAR(H),XQ(e)
        • Q(e);OGATEB::R(I),XQ(e)
        • P(d);OGATE::QAR(H),XS(d)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • R(c);N_SPINR(c),XR(B)
    • Try
      • R(I);
      • Vars
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
        • R(c);OGATEB::R(B),XR(c)
        • P(d);OGATE::QAR(H),XS(d)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • Q(e);CHECK,N_SPINQ(e),XR(I)
    • Try
      • R(I);
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
        • R(c);OGATEB::R(B),XR(c)
        • P(d);OGATE::QAR(H),XS(d)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • Q(e);N_SPINQ(e),XR(I)
    • Try
      • R(I);
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
        • Q(e);OGATEB::R(I),XQ(e)
        • R(c);OGATEB::R(B),XR(c)
        • P(d);OGATE::QAR(H),XS(d)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • Q(e);N_SPINQ(e),XR(I)
    • Try
      • R(I);
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
        • Q(e);OGATEB::R(I),XQ(e)
        • R(c);OGATEB::R(B),XR(c)
        • P(d);OGATE::QAR(H),XS(d)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • Q(e);N_SPINQ(e),XR(I)
    • Try
      • R(I);
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
        • Q(e);OGATEB::R(I),XQ(e)
        • R(c);OGATEB::R(B),XR(c)
        • P(d);OGATE::QAR(H),XS(d)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • Q(e);N_SPINQ(e),XR(I)
    • Try
      • Q(H);XP(d)
      • Threat
        • DUALS(6)
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • Q(e);N_SPINQ(e),P_PINP(G),XR(I)::QAB1(H)
      • Refutation
        • B(a);XQ(H)
    • Try
      • Q(H);
      • Threat
        • QAR2(H)
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • Q(e);OGATEB::R(I),XQ(e)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • Q(e);N_SPINQ(e),P_PINP(G),XR(I)
    • Try
      • Q(H);
      • Threat
        • DUALS(2)
      • Vars
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
      • Refutation
        • P(f);XQ(H)
    • Try
      • Q(H);
      • Threat
        • DUALS(2)
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • Q(e);OGATEB::R(I),XQ(e)
      • Refutation
        • Q(e);N_SPINQ(e),P_PINP(G),XR(I)
    • Try
      • Q(H);
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
        • Q(e);OGATEB::R(I),XQ(e)
        • R(c);OGATEB::R(B),XR(c)
        • P(d);OGATE::QAR(H),XS(d)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • Q(e);N_SPINQ(e),P_PINP(G),XR(I)
    • Try
      • Q(H);
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
        • R(c);OGATEB::R(B),XR(c)
        • P(d);OGATE::QAR(H),XS(d)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • Q(e);N_SPINQ(e),P_PINP(G),XR(I)
    • Try
      • P(G);
      • Vars
        • Q(e);CHECK,OGATEB::R(I),XQ(e)
        • P(d);CHECK,OGATE::QAR(H),XQ(d)
        • P(d);CHECK,OGATE::QAR(H),XB(d)
        • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
        • Q(e);OGATEB::R(I),XQ(e)
        • R(c);OGATEB::R(B),XR(c)
        • P(d);OGATE::QAR(H),XS(d)
        • P(d);OGATE::QAR(H),XR(d)
      • Refutation
        • Q(e);CHECK,N_SPINQ(e),XR(I)
  • Actual
    • P(F);
    • Threat
      • QAB(H)+K(C)
    • Vars
      • Q(e);CHECK,OGATEB::R(I),XQ(e)
      • P(d);CHECK,OGATE::QAR(H),XQ(d)
      • P(d);CHECK,OGATE::QAR(H),XB(d)
      • Q(e);N_SPINQ(e),P_PINP(G),XR(I)::QAB(H)+K(C)
      • R(c);OGATEB,P_SPINR(c),XS(A)::R(B)
      • Q(e);OGATEB::R(I),XQ(e)
      • R(c);OGATEB::R(B),XR(c)
      • P(d);OGATE::QAR(H),XS(d)
      • P(d);OGATE::QAR(H),XR(d)


Developed and maintained by Brian Stephenson.
Implemented with HTML5, MySQL, Perl (with, inter alia, CGI::Simple, HTML::Template & XML::LibXML) & CSS/Javascript (jQuery, Bootstrap & DataTables).