Problem Display
PID: 61353 (2b1N3/3p4/p4N2/Ppk1rQp1/1R1R2K1/6B1/2p4p/2r4B w - - 0 1)

Grasemann, Herbert

Chess, 1948

2b1N3/3p4/p4N2/Ppk1rQp1/1R1R2K1/6B1/2p4p/2r4B

#2

9 + 10


45 Schach 1951
56 The Problemist 2013

SOLUTION


  • SOUND
  • Sets
    • 1...Ra1
      • 2.Qxc2#
    • 1...Rb1
      • 2.Qxc2#
    • 1...Rd1
      • 2.Qxc2#
    • 1...Re1
      • 2.Qxc2#
    • 1...Rf1
      • 2.Qxc2#
    • 1...Rg1
      • 2.Qxc2#
    • 1...Rxh1
      • 2.Qxc2#
    • 1...Rd5
      • 2.Qxd5#
    • 1...Rxf5
      • 2.Bd6#
    • 1...Bb7
      • 2.Sxd7#
    • 1...d5
      • 2.Qxc8#
    • 1...d6
      • 2.Qxc8#
  • Tries
    • 1.Kh3?
      • 1...Rxh1
        • 2.Qxc2#
      • 1...Rxf5
        • 2.Bd6#
      • 1...Rd5
        • 2.Qxd5#
      • 1...d5
        • 2.Qxc8#
      • 1...Ra1
        • 2.Qxc2#
      • 1...Rb1
        • 2.Qxc2#
      • 1...Rd1
        • 2.Qxc2#
      • 1...Re1
        • 2.Qxc2#
      • 1...Rf1
        • 2.Qxc2#
      • 1...Rg1
        • 2.Qxc2#
      • 1...Bb7
        • 2.Sxd7#
      • 1...d6
        • 2.Qxc8#
      • 1...g4+!
    • 1.Kh5?
      • 1...Rxh1
        • 2.Qxc2#
      • 1...Rxf5
        • 2.Bd6#
      • 1...Rd5
        • 2.Qxd5#
      • 1...d5
        • 2.Qxc8#
      • 1...Ra1
        • 2.Qxc2#
      • 1...Rb1
        • 2.Qxc2#
      • 1...Rd1
        • 2.Qxc2#
      • 1...Re1
        • 2.Qxc2#
      • 1...Rf1
        • 2.Qxc2#
      • 1...Rg1
        • 2.Qxc2#
      • 1...Bb7
        • 2.Sxd7#
      • 1...d6
        • 2.Qxc8#
      • 1...g4!
    • 1.Sh5?
      • 1...Rxh1
        • 2.Qxc2#
      • 1...Rxf5
        • 2.Bd6#
      • 1...Rd5
        • 2.Qxd5#
      • 1...d5
        • 2.Qxc8#
      • 1...Ra1
        • 2.Qxc2#
      • 1...Rb1
        • 2.Qxc2#
      • 1...Rd1
        • 2.Qxc2#
      • 1...Re1
        • 2.Qxc2#
      • 1...Rf1
        • 2.Qxc2#
      • 1...Rg1
        • 2.Qxc2#
      • 1...d6
        • 2.Qxc8#
      • 1...Bb7!
    • 1.Sh7?
      • 1...Rxh1
        • 2.Qxc2#
      • 1...Rxf5
        • 2.Bd6#
      • 1...Rd5
        • 2.Qxd5#
      • 1...d5
        • 2.Qxc8#
      • 1...Ra1
        • 2.Qxc2#
      • 1...Rb1
        • 2.Qxc2#
      • 1...Rd1
        • 2.Qxc2#
      • 1...Re1
        • 2.Qxc2#
      • 1...Rf1
        • 2.Qxc2#
      • 1...Rg1
        • 2.Qxc2#
      • 1...d6
        • 2.Qxc8#
      • 1...Bb7!
    • 1.Sg8?
      • 1...Rxh1
        • 2.Qxc2#
      • 1...Rxf5
        • 2.Bd6#
      • 1...Rd5
        • 2.Qxd5#
      • 1...d5
        • 2.Qxc8#
      • 1...Ra1
        • 2.Qxc2#
      • 1...Rb1
        • 2.Qxc2#
      • 1...Rd1
        • 2.Qxc2#
      • 1...Re1
        • 2.Qxc2#
      • 1...Rf1
        • 2.Qxc2#
      • 1...Rg1
        • 2.Qxc2#
      • 1...d6
        • 2.Qxc8#
      • 1...Bb7!
    • 1.Sd6?
      • threat
        • 2.Qxe5#
      • 1...Rxh1
        • 2.Qxc2#
      • 1...Rd5
        • 2.Qxd5#
      • 1...Bb7
        • 2.Sxb7#
        • 2.Sxd7#
      • 1...Re1
        • 2.Qxc2#
      • 1...Rxf5!
    • 1.Sg7?
      • 1...Rxh1
        • 2.Qxc2#
      • 1...Rxf5
        • 2.Bd6#
      • 1...Rd5
        • 2.Qxd5#
      • 1...Bb7
        • 2.Sxd7#
      • 1...Ra1
        • 2.Qxc2#
      • 1...Rb1
        • 2.Qxc2#
      • 1...Rd1
        • 2.Qxc2#
      • 1...Re1
        • 2.Qxc2#
      • 1...Rf1
        • 2.Qxc2#
      • 1...Rg1
        • 2.Qxc2#
      • 1...d6
        • 2.Qxc8#
      • 1...d5!
    • 1.Be1?
      • 1...Rxe1
        • 2.Qxc2#
      • 1...Rd5
        • 2.Qxd5#
      • 1...d5
        • 2.Qxc8#
      • 1...Ra1
        • 2.Qxc2#
      • 1...Rb1
        • 2.Qxc2#
      • 1...Rd1
        • 2.Qxc2#
      • 1...Bb7
        • 2.Sxd7#
      • 1...d6
        • 2.Qxc8#
      • 1...Rxf5!
    • 1.Bf2?
      • threat
        • 2.Rdc4#
        • 2.Rf4#
      • 1...Rxh1
        • 2.Rdc4#
        • 2.Qxc2#
      • 1...Rd5
        • 2.Rdc4#
        • 2.Qxd5#
      • 1...d5
        • 2.Rdc4#
        • 2.Qxc8#
      • 1...Rd1
        • 2.Rdc4#
        • 2.Qxc2#
      • 1...Re1
        • 2.Rdc4#
        • 2.Qxc2#
      • 1...Rf1
        • 2.Rdc4#
        • 2.Qxc2#
      • 1...Rg1+!
    • 1.Bxh2?
      • 1...Rxh1
        • 2.Qxc2#
      • 1...Rxf5
        • 2.Bd6#
      • 1...Rd5
        • 2.Qxd5#
      • 1...d5
        • 2.Qxc8#
      • 1...Ra1
        • 2.Qxc2#
      • 1...Rb1
        • 2.Qxc2#
      • 1...Rd1
        • 2.Qxc2#
      • 1...Re1
        • 2.Qxc2#
      • 1...Rf1
        • 2.Qxc2#
      • 1...Bb7
        • 2.Sxd7#
      • 1...d6
        • 2.Qxc8#
      • 1...Rg1+!
    • 1.Bxe5?
      • threat
        • 2.Bd6#
      • 1...Rxh1
        • 2.Qxc2#
      • 1...d5
        • 2.Qxc8#
      • 1...d6
        • 2.Bxd6#
        • 2.Qxc8#
      • 1...Rg1+!
    • 1.Rf4?
      • threat
        • 2.Bf2#
      • 1...Rxh1
        • 2.Qxc2#
      • 1...Rd5
        • 2.Qxd5#
      • 1...d5
        • 2.Qxc8#
      • 1...Rd1
        • 2.Qxc2#
      • 1...Re1
        • 2.Qxc2#
      • 1...Rf1
        • 2.Qxc2#
      • 1...Rg1
        • 2.Qxc2#
      • 1...gxf4!
  • Keys
    • 1.Qxd7!
      • threat
        • 2.Qxc8#
      • 1...Re4+
        • 2.Sxe4#
      • 1...Bxd7+
        • 2.Sxd7#
      • 1...Rxe8
        • 2.Bd6#
      • 1...Re6
        • 2.Qd5#
      • 1...Re7
        • 2.Bd6#
      • 1...Bb7
        • 2.Qd6#

FEATURES


  • Static
    • TYPE = BLOCK_THREAT
    • CHANGED MATES = 1
    • ADDED MATES = 5
    • REMOVED MATES = 11
  • Sets
    • R(a);N_GUARD::QAR(G),XP(b)
    • R(a);N_GUARD,P_PINB(B)::QAR(G),XP(b)
    • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
    • R(f);OGATE::QAR1(G),XR(f)
    • R(f);N_SPINR(f),OGATE,XQ(G)::B(B)
    • B(j);N_GUARD::S(H),XP(i)
    • P(i);N_SPINR(f),OGATE,P_PINQ(G)::QAR(G),XB(j)
    • P(i);OGATE,P_PINQ(G)::QAR(G),XB(j)
  • Tries
    • Try
      • K(E);S_FLIGHT
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • R(f);N_SPINR(f),OGATE,XQ(G)::B(B)
        • R(f);OGATE::QAR1(G),XR(f)
        • P(i);N_SPINR(f),OGATE,P_PINQ(G)::QAR(G),XB(j)
        • R(a);N_GUARD::QAR(G),XP(b)
        • B(j);N_GUARD::S(H),XP(i)
        • P(i);OGATE,P_PINQ(G)::QAR(G),XB(j)
      • Refutation
        • P(g);CHECK
    • Try
      • K(E);S_FLIGHT
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • R(f);N_SPINR(f),OGATE,XQ(G)::B(B)
        • R(f);OGATE::QAR1(G),XR(f)
        • P(i);N_SPINR(f),OGATE::QAR(G),XB(j)
        • R(a);N_GUARD::QAR(G),XP(b)
        • B(j);N_GUARD::S(H),XP(i)
        • P(i);OGATE::QAR(G),XB(j)
      • Refutation
        • P(g);P_PINQ(G)
    • Try
      • S(H);
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • R(f);N_SPINR(f),OGATE,XQ(G)::B(B)
        • R(f);OGATE::QAR1(G),XR(f)
        • P(i);N_SPINR(f),OGATE,P_PINQ(G)::QAR(G),XB(j)
        • R(a);N_GUARD::QAR(G),XP(b)
        • R(a);N_GUARD,P_PINB(B)::QAR(G),XP(b)
        • P(i);OGATE,P_PINQ(G)::QAR(G),XB(j)
      • Refutation
        • B(j);
    • Try
      • S(H);
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • R(f);N_SPINR(f),OGATE,XQ(G)::B(B)
        • R(f);OGATE::QAR1(G),XR(f)
        • P(i);N_SPINR(f),OGATE,P_PINQ(G)::QAR(G),XB(j)
        • R(a);N_GUARD::QAR(G),XP(b)
        • R(a);N_GUARD,P_PINB(B)::QAR(G),XP(b)
        • P(i);OGATE,P_PINQ(G)::QAR(G),XB(j)
      • Refutation
        • B(j);
    • Try
      • S(H);
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • R(f);N_SPINR(f),OGATE,XQ(G)::B(B)
        • R(f);OGATE::QAR1(G),XR(f)
        • P(i);N_SPINR(f),OGATE,P_PINQ(G)::QAR(G),XB(j)
        • R(a);N_GUARD::QAR(G),XP(b)
        • R(a);N_GUARD,P_PINB(B)::QAR(G),XP(b)
        • P(i);OGATE,P_PINQ(G)::QAR(G),XB(j)
      • Refutation
        • B(j);
    • Try
      • S(I);
      • Threat
        • QAR2(G),XR(f)
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • R(f);OGATE::QAR1(G),XR(f)
        • R(a);N_GUARD::QAR(G),XP(b)
      • Refutation
        • R(f);N_SPINR(f),XQ(G)
    • Try
      • S(I);
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • R(f);N_SPINR(f),OGATE,XQ(G)::B(B)
        • R(f);OGATE::QAR1(G),XR(f)
        • B(j);N_GUARD::S(H),XP(i)
        • R(a);N_GUARD::QAR(G),XP(b)
        • R(a);N_GUARD,P_PINB(B)::QAR(G),XP(b)
        • P(i);OGATE,P_PINQ(G)::QAR(G),XB(j)
      • Refutation
        • P(i);N_SPINR(f),P_PINQ(G)
    • Try
      • B(B);
      • Vars
        • R(a);N_GUARD,XB(B)::QAR(G),XP(b)
        • R(f);OGATE::QAR1(G),XR(f)
        • P(i);N_SPINR(f),OGATE,P_PINQ(G)::QAR(G),XB(j)
        • R(a);N_GUARD::QAR(G),XP(b)
        • B(j);N_GUARD::S(H),XP(i)
        • P(i);OGATE,P_PINQ(G)::QAR(G),XB(j)
      • Refutation
        • R(f);N_SPINR(f),XQ(G)
    • Try
      • B(B);
      • Threat
        • DUALS(2)
      • Refutation
        • R(a);CHECK
    • Try
      • B(B);XP(c)
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • R(f);N_SPINR(f),OGATE,XQ(G)::B(B)
        • R(f);OGATE::QAR1(G),XR(f)
        • P(i);N_SPINR(f),OGATE,P_PINQ(G)::QAR(G),XB(j)
        • R(a);N_GUARD::QAR(G),XP(b)
        • B(j);N_GUARD::S(H),XP(i)
        • P(i);OGATE,P_PINQ(G)::QAR(G),XB(j)
      • Refutation
        • R(a);CHECK
    • Try
      • B(B);XR(f)
      • Threat
        • QAR(G)+B(B),DCHECK
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • P(i);OGATE,P_PINQ(G)::QAR(G),XB(j)
      • Refutation
        • R(a);CHECK
    • Try
      • R(D);
      • Threat
        • B(B)
      • Vars
        • R(a);N_GUARD,XB(A)::QAR(G),XP(b)
        • R(f);OGATE::QAR1(G),XR(f)
        • P(i);N_SPINR(f),OGATE,P_PINQ(G)::QAR(G),XB(j)
        • R(a);N_GUARD::QAR(G),XP(b)
        • R(a);N_GUARD,P_PINB(B)::QAR(G),XP(b)
      • Refutation
        • P(g);XR(D)
  • Actual
    • Q(G);N_PINR(f),P_SPINQ(G),XP(i)
    • Threat
      • QAR(G),XB(j)
    • Vars
      • R(f);CHECK,N_GUARD::S(H),XR(f)
      • B(j);CHECK,XQ(G)::S(H),XB(j)
      • R(f);OGATE,XS(I)::B(B)
      • R(f);N_PINQ(G)::QAR1(G)
      • R(f);OGATE::B(B)
      • B(j);N_PINQ(G)::QAB1(G)


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).