Cooler air is heavier, i.e. "hot air rises" because its lighter than the cooler air around it, its how a hot air balloon works, the warmer air inside the balloon "floats" in the cooler air outside
Air/fuel mixes are WEIGHT RATIOS, not volume
Gasoline has a ratio of 14.7 to 1
14.7 POUNDS of air to 1 POUND of gasoline, this is why fuel injectors are rated in POUNDS per HOUR flow rate
So with cooler/heavier air you can add more fuel, and if you can add more fuel then you can release more energy/power on each power stroke
So better HP, its why engines are "peppier" in the winter with the cooler air
But..............higher elevations have lighter air, less air pressure, so even though its Colder air, in say Denver, it still Weighs less so less power can be released
Startup and Choking
A spark plug can't ignite liquid gasoline
A spark plug can only ignite gasoline Vapor, the stuff you smell from gasoline
Cold gasoline has less Vapor, less smell
You need a minimum of 30% Vapor in a cylinder to get a good ignition, good explosion
A Choke plate in a carburetor restricts the air flow into the top of the carb, since an engine generates the same vacuum when cranking or running the restriction causes more gasoline to be sucked out of the Jets and into the cylinders
If the cold gasoline had vapor at 20% then sucking in 1.5 times the gasoline would get you to 30% and a good startup, the colder it is outside the colder the gasoline would be and the less Vapor it would have, so the more the Choke Plate closed, and more fuel was sucked in to get the needed 30% Vapor
The Engine Computers do this with fuel injected engines based on ECT sensor(engine coolant temp), and IAT(ACT) sensor(Air temp)
Computer adds more fuel(opens injector longer) to get more Vapor on cold start
This extra fuel added can cause carbon build up and really is a waste of fuel, so the faster the engine/gasoline can be warmed up the better
And the pre-heated air raises the Vapor level in the gasoline as it leaves the Jets or injectors so less Choke can be used until no Choke is required