I think there's a problem in your boolean logic. If you want F & I to represent dates within the past three months, then you're ruling out any entries where F >= three months OR I >= three months.
It'd be less confusing to use De Morgan’s law on your boolean logic -- NOT (F >= three months OR I >= three months)
is the same as F < three months AND I < three months
. Therefore, for the third rule, your conditions array would look like:
array('conditions' => array('AND' => array('F <' => three months, 'I <' => three months)));