Problem Display
PID: 21660 (8/5Q2/3PN1P1/3PR2b/2p1n2r/4k3/2PRp3/4K1b1 w - - 0 1)

Penrose, Lionel Sharples

3rd Prize, Good Companions (April Complete Blocks), 1920

8/5Q2/3PN1P1/3PR2b/2p1n2r/4k3/2PRp3/4K1b1

#2

9 + 7


3132 The Good Companion Two-Mover 1922
57 Tijdschrift vd KNSB 1936
3174 The Two-move Chess Problem Tradition and Development 1966
56 The Problemist 2001

SOLUTION


  • SOUND
  • Sets
    • 1...Rh1
      • 2.Qf4#
    • 1...Rh2
      • 2.Qf4#
    • 1...Rh3
      • 2.Qf4#
    • 1...Rf4
      • 2.Qxf4#
    • 1...Rg4
      • 2.Rxe2#
    • 1...Bf2+
      • 2.Qxf2#
    • 1...Bh2
      • 2.Qf2#
    • 1...Bf3
      • 2.Qa7#
    • 1...Bg4
      • 2.Qf4#
    • 1...Bxg6
      • 2.Rxe2#
    • 1...c3
      • 2.Rd3#
  • Tries
    • 1.Qf5?
      • 1...Bf2+
        • 2.Qxf2#
      • 1...Bxg6
        • 2.Rxe2#
      • 1...Rf4
        • 2.Qxf4#
      • 1...Rh1
        • 2.Rxe4#
        • 2.Qxe4#
        • 2.Qf4#
      • 1...Rh2
        • 2.Rxe4#
        • 2.Qxe4#
        • 2.Qf4#
      • 1...Rh3
        • 2.Rxe4#
        • 2.Qxe4#
        • 2.Qf4#
      • 1...Rg4
        • 2.Rxe2#
      • 1...Bh2
        • 2.Qf2#
      • 1...Bg4
        • 2.Rxe4#
        • 2.Qxe4#
        • 2.Qf4#
      • 1...c3
        • 2.Rd3#
      • 1...Bf3!
    • 1.Qf6?
      • 1...Bf2+
        • 2.Qxf2#
      • 1...Bxg6
        • 2.Rxe2#
      • 1...Rf4
        • 2.Qxf4#
      • 1...Rh1
        • 2.Qf4#
      • 1...Rh2
        • 2.Qf4#
      • 1...Rh3
        • 2.Qf4#
      • 1...Rg4
        • 2.Rxe2#
      • 1...Bh2
        • 2.Qf2#
      • 1...Bg4
        • 2.Qf4#
      • 1...c3
        • 2.Rd3#
      • 1...Bf3!
    • 1.Qf8?
      • 1...Bf2+
        • 2.Qxf2#
      • 1...Bxg6
        • 2.Rxe2#
      • 1...Rf4
        • 2.Qxf4#
      • 1...Rh1
        • 2.Qf4#
      • 1...Rh2
        • 2.Qf4#
      • 1...Rh3
        • 2.Qf4#
      • 1...Rg4
        • 2.Rxe2#
      • 1...Bh2
        • 2.Qf2#
      • 1...Bg4
        • 2.Qf4#
      • 1...c3
        • 2.Rd3#
      • 1...Bf3!
    • 1.d7?
      • 1...Bf2+
        • 2.Qxf2#
      • 1...Bxg6
        • 2.Rxe2#
      • 1...Rf4
        • 2.Qxf4#
      • 1...Rh1
        • 2.Qf4#
      • 1...Rh2
        • 2.Qf4#
      • 1...Rh3
        • 2.Qf4#
      • 1...Rg4
        • 2.Rxe2#
      • 1...Bh2
        • 2.Qf2#
      • 1...Bg4
        • 2.Qf4#
      • 1...c3
        • 2.Rd3#
      • 1...Bf3!
    • 1.g7?
      • 1...Bf2+
        • 2.Qxf2#
      • 1...Rf4
        • 2.Qxf4#
      • 1...Bf3
        • 2.Qa7#
      • 1...Rh1
        • 2.Qf4#
      • 1...Rh2
        • 2.Qf4#
      • 1...Rh3
        • 2.Qf4#
      • 1...Rg4
        • 2.Rxe2#
      • 1...Bh2
        • 2.Qf2#
      • 1...Bg4
        • 2.Qf4#
      • 1...Bg6
        • 2.Rxe2#
      • 1...c3
        • 2.Rd3#
      • 1...Bxf7!
  • Keys
    • 1.Sg5!
      • 1...Bf2+
        • 2.Qxf2#
      • 1...Bxg6
        • 2.Qf3#
      • 1...Rh1
        • 2.Rxe4#
      • 1...Rh2
        • 2.Rxe4#
      • 1...Rh3
        • 2.Rxe4#
      • 1...Rf4
        • 2.Qa7#
      • 1...Rg4
        • 2.Qf3#
      • 1...Bh2
        • 2.Qf2#
      • 1...Bf3
        • 2.Qxf3#
      • 1...Bg4
        • 2.Rxe4#
      • 1...c3
        • 2.Rd3#

FEATURES


  • Static
    • TYPE = MUTATE
    • CHANGED MATES = 8
    • ADDED MATES = 0
    • REMOVED MATES = 0
  • Sets
    • R(f);N_GUARD::QAB1(I)
    • R(f);N_GUARD::QAB1(I),XR(f)
    • R(f);S_CUTB(g)::R1(C),XP(b)
    • B(a);CHECK,N_GUARD::QAB1(I),XB(a)
    • B(a);N_GUARD::QAB1(I)
    • B(g);SBLOCK::QAB(I)
    • B(g);S_CUTR(f)::QAB1(I)
    • B(g);N_GUARD,XP(H)::R1(C),XP(b)
    • P(d);N_GUARD::R1(C)
  • Tries
    • Try
      • Q(I);
      • Vars
        • B(a);CHECK,N_GUARD::QAB1(I),XB(a)
        • B(g);N_GUARD,XP(H)::R1(C),XP(b)
        • R(f);N_GUARD::QAB1(I),XR(f)
        • R(f);S_CUTB(g)::R1(C),XP(b)
        • B(a);N_GUARD::QAB1(I)
        • P(d);N_GUARD::R1(C)
      • Refutation
        • B(g);
    • Try
      • Q(I);
      • Vars
        • B(a);CHECK,N_GUARD::QAB1(I),XB(a)
        • B(g);N_GUARD,XP(H)::R1(C),XP(b)
        • R(f);N_GUARD::QAB1(I),XR(f)
        • R(f);N_GUARD::QAB1(I)
        • R(f);S_CUTB(g)::R1(C),XP(b)
        • B(a);N_GUARD::QAB1(I)
        • B(g);S_CUTR(f)::QAB1(I)
        • P(d);N_GUARD::R1(C)
      • Refutation
        • B(g);
    • Try
      • Q(I);
      • Vars
        • B(a);CHECK,N_GUARD::QAB1(I),XB(a)
        • B(g);N_GUARD,XP(H)::R1(C),XP(b)
        • R(f);N_GUARD::QAB1(I),XR(f)
        • R(f);N_GUARD::QAB1(I)
        • R(f);S_CUTB(g)::R1(C),XP(b)
        • B(a);N_GUARD::QAB1(I)
        • B(g);S_CUTR(f)::QAB1(I)
        • P(d);N_GUARD::R1(C)
      • Refutation
        • B(g);
    • Try
      • P(F);
      • Vars
        • B(a);CHECK,N_GUARD::QAB1(I),XB(a)
        • B(g);N_GUARD,XP(H)::R1(C),XP(b)
        • R(f);N_GUARD::QAB1(I),XR(f)
        • R(f);N_GUARD::QAB1(I)
        • R(f);S_CUTB(g)::R1(C),XP(b)
        • B(a);N_GUARD::QAB1(I)
        • B(g);S_CUTR(f)::QAB1(I)
        • P(d);N_GUARD::R1(C)
      • Refutation
        • B(g);
    • Try
      • P(H);
      • Vars
        • B(a);CHECK,N_GUARD::QAB1(I),XB(a)
        • R(f);N_GUARD::QAB1(I),XR(f)
        • B(g);SBLOCK::QAB(I)
        • R(f);N_GUARD::QAB1(I)
        • R(f);S_CUTB(g)::R1(C),XP(b)
        • B(a);N_GUARD::QAB1(I)
        • B(g);S_CUTR(f)::QAB1(I)
        • B(g);N_GUARD::R1(C),XP(b)
        • P(d);N_GUARD::R1(C)
      • Refutation
        • B(g);XQ(I)
  • Actual
    • S(G);
    • Vars
      • B(a);CHECK,N_GUARD::QAB1(I),XB(a)
      • B(g);N_GUARD,XP(H)::QAR1(I)
      • R(f);N_GUARD::R1(E),XS(e)
      • R(f);SBLOCK::QAB(I)
      • R(f);S_CUTB(g)::QAR1(I)
      • B(a);N_GUARD::QAB1(I)
      • B(g);N_GUARD::QAR1(I),XB(g)
      • B(g);S_CUTR(f)::R1(E),XS(e)
      • P(d);N_GUARD::R1(C)


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