Lines Matching refs:implies
19 static bool implies(const LExpr *LHS, bool LNeg, const LExpr *RHS, bool RNeg) {
24 return implies(A->left(), LNeg, RHS, RNeg) &&
25 implies(A->right(), LNeg, RHS, RNeg);
28 return implies(LHS, LNeg, A->left(), RNeg) &&
29 implies(LHS, LNeg, A->right(), RNeg);
34 return implies(A->left(), LNeg, RHS, RNeg) ||
35 implies(A->right(), LNeg, RHS, RNeg);
38 return implies(LHS, LNeg, A->left(), RNeg) ||
39 implies(LHS, LNeg, A->right(), RNeg);
60 // to return !implies(LHS, RHS).
61 return implies(LHS, LNeg, cast<Not>(RHS)->exp(), !RNeg);
85 // to return !implies(LHS, RHS).
86 return implies(cast<Not>(LHS)->exp(), !LNeg, RHS, RNeg);
105 bool implies(const LExpr *LHS, const LExpr *RHS) {
107 return ::implies(LHS, false, RHS, false);