"The birds fly."
The rule is really simple and straightforward, like most of the rules of Korean language :p. And it is as follows:
The 'ㄹ' disappears from the verb stem when followed by 'ㅂ', 'ㄴ' or 'ㅅ'.
날다 + ㅂ니다 = 납니다
날다 + 니? = 나니?
날다 + 세요 = 나세요
Another random examples: 놀다 -> 노십시오; 울다 -> 웁니다; 알다 -> 압니다; 만들다 -> 만듭니까? And it goes on and on...
This almost always works, with any verb ending with 'ㄹ' and with most of suffixes beginning with 'ㅂ', 'ㄴ' or 'ㅅ'. (there are a few exceptions, sadly...) I would advise anyone to write down this rule somewhere as it is really really helpful and important to remember.
I am sorry, but, with all due respect, your explaination makes completly no sense...
When you conjugate a verb to its formal polite form, you do add ㅂ니다 if the verb stem ends with a vowel or 습니다 if it ends with a consonant.
You do NOT add '입니다', which is already a separate conjugated verb (이다 - to be). And the process of disappearing vowels (or vowel 아 taking place of the vowel 이 because it is 'stronger' or something) which you described... well... I never heard of something like this before.