В программировании множественные сложные логические условия, требующие упрощения встречаются не часто. В собственной практике с такими задачами не сталкивался. Всегда можно себе позволить сделать нечто неэффективное, но надёжное и вместе с тем наглядное Но тут другая сторона. Данное знание часть чего-то большего, матлогика входит в процесс обучения, тут другие критерии работают. "что это я, такой тупой, что не могу такую фигню осилить" Хотя My brain, my choice/ - сегодня в фаворе. Люди гордятся собственным невежеством
Безусловно, нужно - независимо от области программирования. Если у тебя в программе образуется логическое выражение на 10 строк, как ты его упрощать будешь - без этих знаний? Но нужна не только матлогика, но и другие разделы дискретной математики.
Что значит "знать мат логику"? Общее представление о ней надо иметь, а изучать все её разделы зачем нужно, спрашивается, особенно если теория моделей, теория множеств, теория рекурсии и теория доказательств тебе никогда не понадобятся? Достаточно одного более-менее полного учебника для студентов "Введение в метаматематику", написанного на современном уровне, и хорошего задачника к нему. Некоторым программистам могут ещё понадобиться профильные разделы вроде теории автоматов, теории нечётких систем и т. п. Такие вещи очень сильно нужны при разработке экспертных решающих автоматов и интеллектуальных систем, основанных на знаниях.