In the opening pages this book outlines the readership at which it is aimed.
'The principal readership is second and third year computer science students.'
'Some of the problems can be tackled by first-year students.'
'It should in principle be possible for a reader with very little mathematical background to understand almost everything.'
'Differential and integral calculus is not a prerequisite.'
'Prepositional predicate and lambda calculus, which certainly do occur, are very important.'
I quote these from the book as it highlights the problems in producing a mathematical textbook that is suitable for all. The problem is, your level of knowledge governs the type of mathematics book you need. This book presents its material well and is certainly understandable PROVIDED YOU HAVE SUFFICIENT BACKGROUND.
There is also material that I would like to see in any mathematics reference on my bookshelf. For example, I would like to see trigonometry and vectors covered. This textbook should not cover those subjects (and is thus not a criticism) but it is not a lot of good to me when I have a problem I need to solve late one Sunday evening.
I believe that your choice of mathematical reference depends on your requirements and you really need to look through as many as possible to ensure it is pitched at the right level and that it covers the material you need.
I cannot recommend this book. Not because it is not good (it is) but because your requirements will be very different to mine. In summary, it covers (and covers well) all the material it should. But only you can decide if the book is right for you.