Z42 Chess Puzzle #1

Two notes:
(a) The forelast move Nf1 is not really unique. The knight could also have captured a piece on that square.
(b) Nd2 in the diagram is redundant as the knight on f1 couldn't have arrived there from d2 anyway. If you insist on the diagram being checkmate then you can move Nd2 to h2 replacing the pawn. I see no problem with that beyond losing the illegal check on h2 if it were a black pawn.

Thanks for the input. I wasn't considering Nxf1 as being different from Nf1 (they're both indicating the knight moving to f1, right?) and modifying the problem to eliminate one possible situation seems a Herculean task, which would make this simple problem way more complicated than I intended. Obviously if Nfx1 were played, the captured piece must have been a minor piece, but that's all that I can figure out.
And yes, the Nd2 is redundant, but that was really just me cramming an extra piece in there for no particular reason...
Thanks for the input. I wasn't considering Nxf1 as being different from Nf1 (they're both indicating the knight moving to f1, right?) .........
I see your point. Amongst retrograde composers it is convention to require full uniqueness when asking for last moves, not only with regard to capturing but including the identity of the captured unit. And you are right, such is often a Herculian task, a property associated with much of retrograde composing.
Considering you are probably a novice in this field, this is actually an excellent composition. Good enough when you ask for just the full last move. The solver will have to examine the preceding move anyway in order to assure that his last move solution is valid.
A note for those who are interested in retrograde issues.
The changes on a chessboard between a player touching a piece and that same player pushing the clock is called a chess move. Do you record that event on camera and then play the recording backward you will see a retracted chess move, or last move. Whether you look at the recording in forward or backward direction makes no difference with regard to the information you receive. In both cases you know exactly what happened.
However, the same is not necessarily true for the algebraic notation of a chess move - long or abbreviated. These common notation systems were only designed to reflect the forward development from one position to the next one, and not to a preceding position. This can lead to confusing the notation of a retracted move with the actually retracted move ("das ding as sich").
Examples: Qd4 is commonly a perfectly sound description of a game move, but tells you nothing about where the queen came from in retraction. Nbd2 may separate the 2 knights but it does not separate the 2 retraction squares b1 and b3. Even the long algebraic notation of the capture move Rd1xd6 leaves the question unanswered as to which unit to revive when the rook retracts to d1. A special issue is the long notation of some pawn moves like Pe5xPf6. On retraction, you definitely need to know whether or not we are dealing with an en passant move here, turning the "e.p." annotation into an absolute necessity rather than a convenience.
The correct approach to retraction moves is therefore to only use the reversible algebraic notation which expands on the long algebraic notation by full descriptions of both the square of origin and the square of destination, e.g. Nf3xBg5.
Peculiarly, the difference beteen the retraction move and its notation is sometimes even missed by retrograde specialists. There is a fairy variant where mystery units (M=Q/R/B/N/P/K) must be identified by their action - proof it by doing it. However, rather than relaying the full executed action (obviously with cloaked mystery units) the creator of this variant uses a selective filter of algebraic notation - proof it by writing it - to keep you in the dark. It is creator's prerogative to set the rules but there is little sense in fusing the mysterious identity of chess units with the ambiguities of incomplete notations. Turn on those cameras!
With regard to the puzzle in this thread, the reversible algebraic notations yields the last move Pg2xNf1=R#. This ought to be completely satisfying to the composer as he need not ask for the 2 last moves (which is flawed) while still demanding of the solver to discover the knight capture by analyzing one more retraction move. So all of his content is retained! We retro fanatics are strict, but we are not unreasonable
Reference on notation systems: https://en.wikipedia.org/wiki/Chess_notation