Not entirely 100% on this but you go speak to someone in a house to the right of the gym on cianwood island and they'll want you to do something for it i think
Chat with our AI personalities
at the city of the Pokemon league
beat 5th gym leader then talk to his wife
Once you defeat Chuck talk the lady in front of the Gym and she'll give you Fly.
in any Pokemon game, a Pokemon can't learn fly without an HM. as you progress in any Pokemon game, someone will give you an HM or you will find it. there are other moves that are also only able to be obtained by an HM (fly, surf, cut .etc.)
fly is an HM and no Pokemon can forget an HM.