MATHEMATICALLY PROVEN CLAIMS
15 NUMERICAL CLAIMS BACKED BY EXECUTABLE CODE
python3 provable_claims.py to verify all 15 at once. Swedish Armed Forces/FMV can modify the parameters and reproduce the calculations themselves. This is the honest alternative to "trust us" claims: every number is a formula you can run.How this works
Mathematical support is not the same as operational validation. If the wiki says "jammer range 11,150m", this can be supported at three levels:
- Mathematically proven (this page): Friis formula run with concrete parameters gives 11,150m. Reproducible by anyone with a Python interpreter.
- Simulated: ArduPlane SITL flight with virtual jammer shows realistic range effect. More credible but requires more resources.
- Field-validated: Physical Fischer 26 with real jammer measured against real target sensor in forest terrain. Definitive proof.
FSG-A has only reached level 1 — mathematical proof. This page is transparency about exactly WHAT we have proven and WHAT we have not proven. Implementing agency must build prototype to reach level 3.
The 15 proven claims
RF Link Budget (1 claim)
| ID | Claim | Formula | Result |
|---|---|---|---|
| JAM_RANGE_F26 | 2W jammer @ 2.4 GHz vs DJI drone (-80 dBm) reaches ~11,150m | Friis: d = 10^((P+G-S-20log(f)+147.55)/20) | 11,150 m ✓ |
RF Vegetation Penetration (3 claims)
| ID | Claim | Formula | Result |
|---|---|---|---|
| VEG_LOSS_VHF | 140 MHz through 100m boreal forest: 11.4 dB loss | Weissberger ITU-R P.833-9 | 11.4 dB ✓ |
| VEG_LOSS_5GHZ | 5.8 GHz through 100m boreal forest: 32.9 dB loss | Weissberger ITU-R P.833-9 | 32.9 dB ✓ |
| VEG_ADVANTAGE_RATIO | VHF gives ~140× more signal through forest than 5.8 GHz | ratio = 10^((L_5.8 - L_0.14)/10) | 140× ✓ |
Important finding during this page's creation: Earlier versions of the wiki stated 11.2 dB and 31.5 dB for these values — incorrectly rounded down. provable_claims.py exposed these mathematical errors, and they have been corrected to 11.4 dB and 32.9 dB which give the exact mathematical output from the Weissberger formula. This illustrates the value of having executable mathematics instead of bare numbers.
Sensor Fusion (2 claims)
| ID | Claim | Formula | Result |
|---|---|---|---|
| DS_FUSION_2 | Two sensors 70% + 65% → 89.5% combined | m = 1-(1-m₁)(1-m₂) | 0.895 ✓ |
| DS_FUSION_3 | Three sensors 70%+65%+60% → 95.8% combined | m = 1-∏(1-mᵢ) | 0.958 ✓ |
Cryptography (1 claim)
| ID | Claim | Formula | Result |
|---|---|---|---|
| HMAC_COLLISION_YEARS | HMAC-SHA256 56-bit requires ~2.28 million years at 1000 attempts/s | years = 2^56 / (1000 × 31.56M) | 2.28 Myr ✓ |
Anti-Jam (2 claims)
| ID | Claim | Formula | Result |
|---|---|---|---|
| CRPA_NULL_POWER_RATIO | 25 dB null = 316× power reduction | ratio = 10^(dB/10) | 316.2× ✓ |
| FHSS_NARROWBAND_MISS | Narrowband jammer misses 99.98% of 4600 channels | miss_rate = (N-1)/N × 100 | 99.978% ✓ |
Antenna (2 claims)
| ID | Claim | Formula | Result |
|---|---|---|---|
| BEAM_WIDTH_500M | 30m CEP at 500m requires 6.87° beamwidth | θ = 2·atan(CEP/dist) | 6.87° ✓ |
| ANTENNA_GAIN_7DEG | 7° beam gives ~28 dBi antenna gain | G ≈ 10·log10(32400/θ²) | 28.2 dBi ✓ |
Arctic Operations (2 claims)
| ID | Claim | Formula | Result |
|---|---|---|---|
| LIPO_CAPACITY_MINUS15 | 10Ah LiPo @ -15°C delivers ~6Ah (60%) | Tattu/Gens Ace datasheet interpolation | 6000 mAh ✓ |
| LIPO_CAPACITY_MINUS20 | 10Ah LiPo @ -20°C delivers 5Ah (50%) | Published cell chemistry literature | 5000 mAh ✓ |
Energy Budget (2 claims)
| ID | Claim | Formula | Result |
|---|---|---|---|
| FISCHER26_ENDURANCE | 22.2V × 10Ah × 0.85 / 140W loiter = 1.35h (81 min) | t = (V·Ah·util) / P_avg | 1.35 h ✓ |
| FHSS_JAM_POWER_RATIO | Jamming 4600-channel FHSS requires 4600× more power | N_ch × P_per_ch | 4600× ✓ |
Run the proof yourself
Download the code package. The verification harness is a plain Python script with no dependencies beyond the standard library plus NumPy:
# pip install numpy
# Reproduce the CRPA null-power claim from provable_claims.py
import numpy as np
def crpa_null_power_ratio(null_depth_db):
"""Return linear power reduction from dB null depth."""
return 10 ** (null_depth_db / 10)
# Verified claim: a 25 dB CRPA null = 316x power reduction
ratio = crpa_null_power_ratio(25)
assert abs(ratio - 316.2278) < 0.01, "CRPA null claim failed"
print(f"CRPA 25 dB null = {ratio:.4f}x power reduction ✓")
# Run the full suite:
# python3 provable_claims.py
# Expected output:
# ✓ ALL 15 CLAIMS MATHEMATICALLY PROVEN
# Verified: 15/15
The full harness output on a clean run:
$ python3 provable_claims.py
Total 15 claims verified with executable code
Verified: 15/15
▸ Anti-Jam
[CRPA_NULL_POWER_RATIO] CRPA 25 dB null = 316× power reduction
Formula: ratio = 10^(dB/10)
Calculated: 316.2278
Expected: 316.2300
Status: ✓ VERIFIED
[... 14 more ...]
✓ ALL 15 CLAIMS MATHEMATICALLY PROVEN
What this does NOT prove
Mathematical proof is not field validation. The following remain unproven:
- That a physical Fischer 26 can actually carry 2W jammer + Yagi antenna and deliver the mathematically calculated range
- That the Weissberger model actually applies to Swedish boreal forest specifically (the model is generic for "forested terrain")
- That the sensors used in practice actually deliver the 70%/65%/60% levels assumed in Dempster-Shafer
- That LiPo batteries in real arctic winter (with wind, humidity, battery aging) match the datasheet numbers
The mathematics is correct. The question is whether reality matches the mathematics. That is determined only by field validation, which FSG-A has not done.
License
Creative Commons Attribution-ShareAlike 4.0 International. Copy the code. Modify the parameters. Run in your own environment. Share improvements back if you wish.