I am new to LoRa technology and I was reading it's technical specifications on the lora-alliance.org website. In the document, the SF is always considered between 7-12. What is the reason behind not considering the values beyond this range, for say SF6 or SF13? Is it because of receiver sensitivity, or there is a mathematical reason behind it?
The sx1276-series chips don't support spreading factors outside of SF6-SF12 (per sx1276/77/78/79 datasheet). The new sx1262-series chips support SF5 (per sx1261/2 datasheet).
With lower spreading factors at some point it's not spread spectrum anymore and probably best to switch to FSK modulation. Higher spreading factors put more stringent requirements on matching the TX and RX frequencies, specially at narrow bandwidths.
I'm not an RF expert, so I can't answer what theoretical limits there may be. From a practical point of view, SF12 is already pretty difficult to use given how low the data rates end up being.
The reasons are purely technical.
In a SX127x chips, the PHY header in explicit header mode is always 28 bits long and must fit into the first 8 symbols that are hard-codded at CR 4/8 redundancy. At SF7, 8 symbols at CR 4/8 encode exactly 28 bits. At SF6, only 24 bits, that's not enough. And if you can't send an explicit header, you can't send a variable-length frame, so no SF6 LoRaWAN frame. SX126x chips get their new framing engine from the SX128x but have to stay compatible with the established SX127x and SX130x base, so no SF6 LoRaWAN either.
SF13 is possible but you would have to double the size of the FFT unit and buffers in the chip, increasing price, for a diminishing return. It was considered not worth it.