"A Discipline of Programming" is rather hard to follow. Dromey gives an introductory treatment that's a bit too introductory, "Progamming Pearls" by Bently includes another even more informal treatment, and Gries's "Science of Programming" would be the textbook version that I might recommend covering this material. All three are somewhat dated. More modern treatment would be either Apt's "Verification of Sequential and Concurrent Programs" or Manna's "The Calculus of Computation." and depending on your...
Manber's "Algorithms--a creative approach" is better than Cormen, which I agree is better than Knuth. It's also better than Aho's book on algorithms as well. It's better in that you can study it by yourself with more profit. On the other hand, Cormen's co-author has a series of video lectures at MIT's OCW site that you can follow along with.
Logic:
--mathematical
Enderton, "A mathematical introduction to logic" then Shoenfield's classic "Mathematical logic"
Cori and Lascar, "Mathematical logic: a course with exercise" for exercises for self-study
Manin, "A course in mathematical logic" for additional enrichment
--computational
Van Dalen's "Logic and Structure" and then Fitting, "First Order Logic and Automated theorem proving" to fill in the gaps
--philosophical
From Frege to Goedel: a sourcebook in mathematical logic
additional works by Fr...
For an AI text, I think any (text)book on a subject of your interest by Judea Pearl would fit the bill.
"Symbolic Logic and Mechanical Theorem Proving" by Chang and Lee is still an exceptionally lucid introduction to non-probabilistic AI.