Solution for Harry Potter Library Logic Puzzle:
This is all the HP trivia you need to solve the puzzle. The titles of all the stolen books are in the puzzle’s clues. In this walkthrough I’ll use T and L to indicate whether we know if a character is Truthful or a Liar. It’s possible to uncover clues in a different order, I’ll just follow the order I used to write the puzzle.
Irma Pince’s clue gives Pomona Sprout, Hannah Abbott and Zacharias Smith, all innocent/truthful. Pomona Sprout’s clue gives Severus Snape (innocent/?), Filius Flitwick (innocent/?) and Minerva McGonagall (innocent/Truthful). Zacharias Smith’s clue gives Fred Weasley (stole Sonnets of a Sorcerer/truthful) and George Weasley (innocent/liar).
Minerva McGonagall says that everyone adjacent to George is truthful, and everyone in his column is truthful. Fred Weasley’s clue implies that the person below himself (Ginny Weasley) has also stolen a book. However Vincent Crabbe is innocent, otherwise Ginny would have a thief both above AND below her. Lee Jordan is also innocent because he doesn’t have a thief above or below.
Now we know Flitwick is truthful, and two people in the corners are innocent, so the remaining two Gilderoy Lockhart and Hermione Granger both stole a book. Fred Weasley’s clue implies Lockhart has a thief above (Cho Chang) and Hermione has a thief below (Rubeus Hagrid). Again from what Fred said: Parvati Patil is innocent, otherwise Cho would have a thief both above and below her. Likewise for Percy Weasley. Lavender Brown is also innocent because the people above and below her didn’t steal anything.
Hannah Abbott says only one row contains no thieves. This must be the third row (all others contain at least one thief already), so Oliver Wood and Luna Lovegood are innocent. Percy Weasley’s claim that all Houses will lose points for thefts directly contradicts Severus Snape’s claim that everyone in his House is innocent. So Snape is a liar, which means Moste Potente Potions IS adjacent to him, and Gregory Goyle is the one who stole it. Also, everyone adjacent to Snape (a liar) is truthful, and everyone in his column is truthful.
Again, from Fred Weasley’s clue: Goyle has a thief below (Neville Longbottom), and Draco Malfoy is innocent otherwise Neville would have a thief above and below. McGonagall says there’s one liar in each column. The liars discovered so far are: 1st column Snape (older than Harry), 2nd column either Neville or Draco (same year as Harry), 3rd column Seamus or Ron or Harry (same year as Harry), 4th column George (older than Harry). Oliver says that three liars are older than Harry. So the liar in the 5th column must be older than Harry, so Lee Jordan is lying and Hermione is telling the truth.
Lee Jordan is lying, so there aren’t two thieves in his row and Harry is innocent. Draco Malfoy says Harry stole a book, so Malfoy is lying, and everyone adjacent to him is truthful. Therefore the liar in the 3rd column is Seamus Finnigan, and (since all other liars are innocent) Luna’s clue means that Seamus stole Secrets Of The Darkest Art.
The person below Seamus (Justin Finch-Fletchley) also stole a book. Lavender Brown says ten books were stolen, and we already identified ten thieves, so everyone else is innocent. Padma Patil’s and George Weasley’s clues combined mean that Justin has Dragon Breeding For Profit and Hagrid has From Egg To Inferno.
About the remaining five stolen books, they are: COMPENDIUM OF CURSES and JINXES FOR THE JINXED (Crabbe’s clue), TRANSUBSTANTIAL TRANSFIGURATION (Ron’s clue), FLESH-EATING TREES OF THE WORLD (Justin’s clue), and something whose title starts with M (Parvati Patil’s clue). Padma Patil’s alphabet order clue means Hermione Granger has Transubstantial Transfiguration, the only book that comes after Secrets of the Darkest Arts.
Justin’s clue means either Neville or Ginny has Flesh-Eating Trees. But Ginny can’t have it, because otherwise Cho and Neville would both have books that come before F in alphabetical order (impossible). So Neville has Flesh-Eating Trees, and Cho has Compendium of Curses which comes before F in the alphabet. Cho’s clue says Ginny Weasley has Jinxes for the Jinxed, and Ginny’s clue gives the title of Gilderoy Lockhart’s book.