Problem Display
PID: 205106 (n6B/2p5/1pK5/1p6/bP3p2/1P3N1Q/pq1N3P/kr3R2 w - - 0 1)

Wainwright, Joseph CJ

American Chess Bulletin, 1910

n6B/2p5/1pK5/1p6/bP3p2/1P3N1Q/pq1N3P/kr3R2

#2

9 + 10


15148 Sadier Collection 2020

SOLUTION


  • SOUND
  • Sets
    • 1...Qc3+
      • 2.Bxc3#
    • 1...Qd4
      • 2.Bxd4#
    • 1...Qe5
      • 2.Bxe5#
    • 1...Qf6+
      • 2.Bxf6#
    • 1...Qg7
      • 2.Bxg7#
    • 1...Qxh8
      • 2.Qxh8#
    • 1...Rc1+
      • 2.Rxc1#
    • 1...Rd1
      • 2.Rxd1#
    • 1...Re1
      • 2.Rxe1#
    • 1...Rxf1
      • 2.Qxf1#
    • 1...Bxb3
      • 2.Sxb3#
  • Tries
    • 1.Sc4?
      • threat
        • 2.Bxb2#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Rc1
        • 2.Rxc1#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Qc3
        • 2.Bxc3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...bxc4+!
    • 1.Se4?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Bxb3!
    • 1.Sg1?
      • 1...Qc3+
        • 2.Bxc3#
        • 2.Qxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...f3!
    • 1.Sg5?
      • 1...Qc3+
        • 2.Bxc3#
        • 2.Qxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...f3!
    • 1.Bc3?
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Rc1
        • 2.Rxc1#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Qxc3+!
    • 1.Bd4?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Qxd4!
    • 1.Be5?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Qxe5!
    • 1.Bf6?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Qxf6+!
    • 1.Bg7?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Qxg7!
    • 1.Rc1?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rxc1+!
    • 1.Rd1?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rxd1!
    • 1.Re1?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Rxe1!
    • 1.Rg1?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Rf1
        • 2.Rxf1#
        • 2.Qxf1#
      • 1...Rxg1!
    • 1.Rh1?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Rf1
        • 2.Rxf1#
        • 2.Qxf1#
      • 1...Rg1
        • 2.Rxg1#
      • 1...Rxh1!
    • 1.Qg2?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
        • 2.Qxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Qxh8!
    • 1.Qc8?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Rxf1!
    • 1.Qh4?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
        • 2.Qxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
        • 2.Qxe1#
      • 1...Rxf1!
    • 1.Qh5?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
        • 2.Qxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Rxf1!
    • 1.Qh6?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
        • 2.Qxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
        • 2.Qxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Rxf1!
    • 1.Qh7?
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Bxb3
        • 2.Sxb3#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
        • 2.Qxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...Rxf1!
    • 1.bxa4?
      • threat
        • 2.Sb3#
      • 1...Qc3+
        • 2.Bxc3#
      • 1...Qf6+
        • 2.Bxf6#
      • 1...Rc1+
        • 2.Rxc1#
      • 1...Qxh8
        • 2.Qxh8#
      • 1...Rxf1
        • 2.Qxf1#
      • 1...Qd4
        • 2.Bxd4#
      • 1...Qe5
        • 2.Bxe5#
      • 1...Qg7
        • 2.Bxg7#
      • 1...Rd1
        • 2.Rxd1#
      • 1...Re1
        • 2.Rxe1#
      • 1...bxa4!
  • Keys
    • 1.Sd4!
      • threat
        • 2.Sc2#
      • 1...Qc3+
        • 2.Qxc3#
      • 1...Qc2+
        • 2.Sxc2#
      • 1...Qxd4
        • 2.Bxd4#
      • 1...Bxb3
        • 2.S4xb3#

FEATURES


  • Static
    • TYPE = BLOCK_THREAT
    • CHANGED MATES = 1
    • ADDED MATES = 1
    • REMOVED MATES = 8
  • Sets
    • Q(d);CHECK,OGATEB::B(I),XQ(d)
    • Q(d);OGATEB::B(I),XQ(d)
    • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
    • R(b);CHECK,OGATEB::R(A),XR(b)
    • R(b);OGATEB::R(A),XR(b)
    • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
    • B(e);XP(D)::S(B),XB(e)
  • Tries
    • Try
      • S(B);
      • Threat
        • B(I),XQ(d)
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • R(b);OGATEB,P_PINS(B)::R(A),XR(b)
        • R(b);OGATEB::R(A),XR(b)
        • Q(d);OGATEB,P_PINS(B)::B(I),XQ(d)
        • Q(d);OGATEB::B(I),XQ(d)
      • Refutation
        • P(g);CHECK,XS(B)
    • Try
      • S(B);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • B(e);XP(D)
    • Try
      • S(E);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • P(f);
    • Try
      • S(E);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • P(f);
    • Try
      • B(I);
      • Vars
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • B(e);XP(D)::S(B),XB(e)
        • R(b);OGATEB,P_PINB(I)::R(A),XR(b)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • Q(d);CHECK,N_SPINQ(d),XB(I)
    • Try
      • B(I);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • B(e);XP(D)::S(B),XB(e)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • Q(d);N_SPINQ(d),XB(I)
    • Try
      • B(I);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • Q(d);N_SPINQ(d),XB(I)
    • Try
      • B(I);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • Q(d);CHECK,N_SPINQ(d),XB(I)
    • Try
      • B(I);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • Q(d);N_SPINQ(d),XB(I)
    • Try
      • R(A);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
      • Refutation
        • R(b);CHECK,N_SPINR(b),XR(A)
    • Try
      • R(A);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
      • Refutation
        • R(b);N_SPINR(b),XR(A)
    • Try
      • R(A);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • R(b);N_SPINR(b),XR(A)
    • Try
      • R(A);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • R(b);N_SPINR(b),XR(A)
    • Try
      • R(A);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • R(b);N_SPINR(b),XR(A)
    • Try
      • Q(F);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • Q(d);N_SPINQ(d),XB(I)
    • Try
      • Q(F);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • R(b);N_SPINR(b),XR(A)
    • Try
      • Q(F);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • R(b);N_SPINR(b),XR(A)
    • Try
      • Q(F);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • R(b);N_SPINR(b),XR(A)
    • Try
      • Q(F);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • R(b);N_SPINR(b),XR(A)
    • Try
      • Q(F);
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • B(e);XP(D)::S(B),XB(e)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • R(b);N_SPINR(b),XR(A)
    • Try
      • P(D);XB(e)
      • Threat
        • S(B)
      • Vars
        • Q(d);CHECK,OGATEB::B(I),XQ(d)
        • R(b);CHECK,OGATEB::R(A),XR(b)
        • Q(d);N_SPINQ(d),OGATE,XB(I)::QAB(F),XQ(d)
        • R(b);N_SPINR(b),OGATE,XR(A)::QAR(F),XR(b)
        • Q(d);OGATEB::B(I),XQ(d)
        • R(b);OGATEB::R(A),XR(b)
      • Refutation
        • P(g);XP(D)
  • Actual
    • S(E);N_PINQ(d)
    • Threat
      • S(E)
    • Vars
      • Q(d);CHECK,OGATEB::QAB(F),XQ(d)
      • Q(d);CHECK::B(I)+S(E),DCHECK,XQ(d)
      • Q(d);OGATE,P_SPINQ(d),XS(E)::B(I),XQ(d)
      • B(e);XP(D)::S(E),XB(e)


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