1. A method for network fault diagnosis in a network having a plurality of network elements, comprising steps of: creating a network causality model; generating Boolean expressions from said network causality model; converting said Boolean expressions into SAT sets; receiving network monitoring results; correlating said network monitoring results with said SAT sets; and enumerating all possible diagnostic explanations of potential faults and displaying a ranked fault list having said explanations with annotations on a computer.