| @@ 87-105 (lines=19) @@ | ||
| 84 | ||
| 85 | $context_clauses = array_merge($left_context->clauses, $left_clauses); |
|
| 86 | ||
| 87 | if ($left_context->reconciled_expression_clauses) { |
|
| 88 | $reconciled_expression_clauses = $left_context->reconciled_expression_clauses; |
|
| 89 | ||
| 90 | $context_clauses = array_values( |
|
| 91 | array_filter( |
|
| 92 | $context_clauses, |
|
| 93 | function ($c) use ($reconciled_expression_clauses) { |
|
| 94 | return !\in_array($c->getHash(), $reconciled_expression_clauses); |
|
| 95 | } |
|
| 96 | ) |
|
| 97 | ); |
|
| 98 | ||
| 99 | if (\count($context_clauses) === 1 |
|
| 100 | && $context_clauses[0]->wedge |
|
| 101 | && !$context_clauses[0]->possibilities |
|
| 102 | ) { |
|
| 103 | $context_clauses = []; |
|
| 104 | } |
|
| 105 | } |
|
| 106 | ||
| 107 | $simplified_clauses = Algebra::simplifyCNF($context_clauses); |
|
| 108 | ||
| @@ 128-146 (lines=19) @@ | ||
| 125 | return false; |
|
| 126 | } |
|
| 127 | ||
| 128 | if ($left_context->reconciled_expression_clauses) { |
|
| 129 | $reconciled_expression_clauses = $left_context->reconciled_expression_clauses; |
|
| 130 | ||
| 131 | $negated_left_clauses = array_values( |
|
| 132 | array_filter( |
|
| 133 | $negated_left_clauses, |
|
| 134 | function ($c) use ($reconciled_expression_clauses) { |
|
| 135 | return !\in_array($c->getHash(), $reconciled_expression_clauses); |
|
| 136 | } |
|
| 137 | ) |
|
| 138 | ); |
|
| 139 | ||
| 140 | if (\count($negated_left_clauses) === 1 |
|
| 141 | && $negated_left_clauses[0]->wedge |
|
| 142 | && !$negated_left_clauses[0]->possibilities |
|
| 143 | ) { |
|
| 144 | $negated_left_clauses = []; |
|
| 145 | } |
|
| 146 | } |
|
| 147 | ||
| 148 | $clauses_for_right_analysis = Algebra::simplifyCNF( |
|
| 149 | array_merge( |
|