Query predicate is transformed index spans (check EXPLAIN) based on index keys. index spans are ranges (Page 135 https://blog.couchbase.com/wp-content/uploads/2017/10/N1QL-A-Practical-Guide-2nd-Edition.pdf) . From index spans are generated such that no false negatives possible. But false positives are ok.
After Fetch whole WHERE clause applied (this eliminates false positives and the keys that not part of the index.
CREATE INDEX ix1 ON default(a);
SELECT * FROM default WHERE a > 10 AND b < 20;
a> 10 only pushed to index because index only know about a. b < 20 applied after Fetch as Filter.
Do Explain check Operator one above items in picture.