brighten
Autonomous vehicles will be electric but so will some (perhaps a smaller fraction of) non-autonomous vehicles. Anyway, that doesn't save the calculation. It's clear all these benefits are there but maybe not to the degree you claim, at least not in such a simple way.
Today "cars are driven just 4% of the time". If you assume for a moment that people's transportation usage time stays the same, and "the number of vehicles on the road will be reduced by 99%", then the average car must be used 400% of the time. That would be possible if every self-driving car is carrying 4 passengers 100% of the time, 24 hours a day 7 days a week, which seems very unlikely. What am I missing?
I also don't see the justification for saying "90% reduction of vehicles in operation would reduce our overall emissions by" 90% of their greenhouse gas emissions. There might be 90% fewer vehicles, and you certainly save on environmental impact of vehicle production, but they will be used more per vehicle.
In fact, per-person transportation usage time may increase. If catching a ride is easy, fast, and cheap and allows us to work, sleep or play while riding, then many people will ride more often, or might buy a house that means a longer commute.
TCP/NC = network coding I assume. This is not really a competitor to PCC: the two techniques are solving different problems and could work together. PCC controls the sending rate, while erasure coding (in general - I'm not familiar with the details of TCP/NC) avoids extra round trips to recover from losses. Erasure coding would be quite relevant to very short flows, for which every RTT matters, which is extremely interesting and valuable but not the focus of this paper. Also note TCP/NC needs a new end-to-end protocol.
CTCP is probably compound TCP. We haven't done a performance comparison but it appears to fall within the large set of TCP variants that use what we called "hardwired" control. If you try it out, let us know!
Sec 2.1 describes the key ideas, with longer description after.
PCC gets consistent high performance because it observes what performance outcome actually results from a particular sending rate -- rather than assuming that certain events like a packet loss should be hardwired to certain actions.