Understanding Explain Plan on Composite Index
"c" is just being used as an in-index filter.  It jumps to the part of the index where "a"=1 and scans it until "a" becomes >1.  For all of those rows it filters out anything where "c" is not true, based on the value of "c" found in the index.

It is unfortunate that the EXPLAIN syntax doesn't distinguish a column used for jumping to a specific part of the index (or stopping in index scan at the end of the relevant values), from one just used for filtering within the index.  But EXPLAIN doesn't understand the internals of indexes, it just knows that "c" is being used, it doesn't know how efficiently it is being used.