MobileNetV4-Conv-M's non-degeneracy seal, on the full-width batched net (levels 2 and 3) #
MobileNetV4FullBVJP.lean proves
mobilenetv4ForwardBFullHasVJPAt: the whole-net VJP at any (w, x) satisfying eight clause
bundles — the stem's relu, the fused stage's, one per resolution group and the head's, 38
relu sites in all (the #guard below counts them off the block table). That statement is
pointwise, so it could in principle be vacuous. This file exhibits a (w, x) that discharges
every clause — centre-tap kernels on the stem, the fused stage, the three channel-changing rows and
the head; the eighteen skip rows zeroed, each block then the exact identity — shows the forward is
not constant there, and seals
the Jacobian nonzero — hence, through
Training/JacobianSeal.lean,
the proven backward is not the zero map at that point.
The net is timm's mobilenetv4_conv_medium: relu throughout,
BN-only pre-DWs, the stride on each downsample's post-DW, and a head that pools before
conv_head, whose BatchNorm therefore normalises the pooled features over the batch alone.
All 38 clauses are weight-only — and generic in the table row #
Every kink in this net is a relu sitting directly on a bnBatchLA output (Mnv4StemSmoothAtB,
cbReluLayer.ok, cbReluStridedLayer.ok, mnv4DWReluLayer.ok, mnv4DWReluStridedLayer.ok);
projLayer.ok, mnv4DWBnLayer.ok, castLayer.ok and CertLayer.id'.ok are True.
bnBatchLA_pos bounds a BatchNorm output above β − |γ|√(N·h·w) > 0 at EVERY input, so with
γ = 1, β = 160, ε = 1 the whole bundle is discharged without the activation ever being read
— including conv_head's, whose BatchNorm sees N·1·1 = 2 cells.
The carrier #
The input is per-(example, channel) constant (sealX t = t • rayV), so it is an EDiff from the
start: example 0 is example 1 plus t on channel 0. Every stage on the carrier's path is a
centre-tap conv or depthwise then a BatchNorm, and inside the margin window every relu is the
identity, so each stage multiplies the carrier by one positive istd. Seventeen BatchNorms sit
on the path: the stem's, the fused stage's two, four in each of rows 1, 3 and 11 (the only rows
that change channels, hence the only ones without a skip) and the head's two. The pool in front
of conv_head keeps the carrier (a per-channel shift survives an average), and the two relabels
are index bijections. The readout along the ray is therefore t · Rr t, with Rr the product of
the seventeen istds: continuous and positive, and no BatchNorm variance derivative is taken.
Note: every collapse, every clause bundle and every block lemma here is proved at variable shapes and instantiated at the witness's numerals afterwards, never proved at them.
Equations
- One or more equations did not get rendered due to their size.
Instances For
a carrier row: every kernel a centre tap.
Equations
- One or more equations did not get rendered due to their size.
Instances For
a skipped row: every kernel zero, so the body is the constant 0.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Proofs.Mnv4FullBSeal.sealV = Proofs.BatchSeal.rayV (2 * 112) (2 * 112)
Instances For
Equations
Instances For
the head's two relus — cn_960's at 7×7 and conv_head's on the pooled 1×1 (its BatchNorm
over the two examples alone); GAP, the relabels and dense are True.
The eight group conditions above, as the apex's one smoothness hypothesis.
The whole-net VJP at the witness — all eight bundles discharged.
Equations
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zs t = Proofs.StableHLO.batchMap 2 (Proofs.flatConvStride2 (Proofs.BatchSeal.ctK 32 3 3 3 1) (Proofs.BatchSeal.kv 32 0)) (Proofs.Mnv4FullBSeal.sealX t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.As t = Proofs.StableHLO.bnBatchLA 2 32 112 112 1 (Proofs.BatchSeal.kv 32 1) (Proofs.BatchSeal.kv 32 160) (Proofs.Mnv4FullBSeal.Zs t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zf t = Proofs.StableHLO.batchMap 2 (Proofs.flatConvStride2 (Proofs.BatchSeal.ctK 128 32 3 3 1) (Proofs.BatchSeal.kv 128 0)) (Proofs.Mnv4FullBSeal.As t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Af t = Proofs.StableHLO.bnBatchLA 2 128 56 56 1 (Proofs.BatchSeal.kv 128 1) (Proofs.BatchSeal.kv 128 160) (Proofs.Mnv4FullBSeal.Zf t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Z1p t = Proofs.StableHLO.batchMap 2 (Proofs.flatConv (Proofs.BatchSeal.ctK 48 128 1 1 1) (Proofs.BatchSeal.kv 48 0)) (Proofs.Mnv4FullBSeal.Af t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.A1p t = Proofs.StableHLO.bnBatchLA 2 48 56 56 1 (Proofs.BatchSeal.kv 48 1) (Proofs.BatchSeal.kv 48 0) (Proofs.Mnv4FullBSeal.Z1p t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zaq t = Proofs.StableHLO.batchMap 2 (Proofs.depthwiseFlat (Proofs.BatchSeal.ctDW 48 3 3 1) (Proofs.BatchSeal.kv 48 0)) (Proofs.Mnv4FullBSeal.A1p t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Aaq t = Proofs.StableHLO.bnBatchLA 2 48 56 56 1 (Proofs.BatchSeal.kv 48 1) (Proofs.BatchSeal.kv 48 160) (Proofs.Mnv4FullBSeal.Zaq t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zae t = Proofs.StableHLO.batchMap 2 (Proofs.flatConv (Proofs.BatchSeal.ctK 192 48 1 1 1) (Proofs.BatchSeal.kv 192 0)) (Proofs.Mnv4FullBSeal.Aaq t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Aae t = Proofs.StableHLO.bnBatchLA 2 192 56 56 1 (Proofs.BatchSeal.kv 192 1) (Proofs.BatchSeal.kv 192 160) (Proofs.Mnv4FullBSeal.Zae t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zad t = Proofs.StableHLO.batchMap 2 (Proofs.depthwiseStride2Flat (Proofs.BatchSeal.ctDW 192 5 5 1) (Proofs.BatchSeal.kv 192 0)) (Proofs.Mnv4FullBSeal.Aae t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Aad t = Proofs.StableHLO.bnBatchLA 2 192 28 28 1 (Proofs.BatchSeal.kv 192 1) (Proofs.BatchSeal.kv 192 160) (Proofs.Mnv4FullBSeal.Zad t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zaz t = Proofs.StableHLO.batchMap 2 (Proofs.flatConv (Proofs.BatchSeal.ctK 80 192 1 1 1) (Proofs.BatchSeal.kv 80 0)) (Proofs.Mnv4FullBSeal.Aad t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Aaz t = Proofs.StableHLO.bnBatchLA 2 80 28 28 1 (Proofs.BatchSeal.kv 80 1) (Proofs.BatchSeal.kv 80 0) (Proofs.Mnv4FullBSeal.Zaz t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zbq t = Proofs.StableHLO.batchMap 2 (Proofs.depthwiseFlat (Proofs.BatchSeal.ctDW 80 3 3 1) (Proofs.BatchSeal.kv 80 0)) (Proofs.Mnv4FullBSeal.Aaz t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Abq t = Proofs.StableHLO.bnBatchLA 2 80 28 28 1 (Proofs.BatchSeal.kv 80 1) (Proofs.BatchSeal.kv 80 160) (Proofs.Mnv4FullBSeal.Zbq t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zbe t = Proofs.StableHLO.batchMap 2 (Proofs.flatConv (Proofs.BatchSeal.ctK 480 80 1 1 1) (Proofs.BatchSeal.kv 480 0)) (Proofs.Mnv4FullBSeal.Abq t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Abe t = Proofs.StableHLO.bnBatchLA 2 480 28 28 1 (Proofs.BatchSeal.kv 480 1) (Proofs.BatchSeal.kv 480 160) (Proofs.Mnv4FullBSeal.Zbe t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zbd t = Proofs.StableHLO.batchMap 2 (Proofs.depthwiseStride2Flat (Proofs.BatchSeal.ctDW 480 5 5 1) (Proofs.BatchSeal.kv 480 0)) (Proofs.Mnv4FullBSeal.Abe t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Abd t = Proofs.StableHLO.bnBatchLA 2 480 14 14 1 (Proofs.BatchSeal.kv 480 1) (Proofs.BatchSeal.kv 480 160) (Proofs.Mnv4FullBSeal.Zbd t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zbz t = Proofs.StableHLO.batchMap 2 (Proofs.flatConv (Proofs.BatchSeal.ctK 160 480 1 1 1) (Proofs.BatchSeal.kv 160 0)) (Proofs.Mnv4FullBSeal.Abd t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Abz t = Proofs.StableHLO.bnBatchLA 2 160 14 14 1 (Proofs.BatchSeal.kv 160 1) (Proofs.BatchSeal.kv 160 0) (Proofs.Mnv4FullBSeal.Zbz t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zcq t = Proofs.StableHLO.batchMap 2 (Proofs.depthwiseFlat (Proofs.BatchSeal.ctDW 160 5 5 1) (Proofs.BatchSeal.kv 160 0)) (Proofs.Mnv4FullBSeal.Abz t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Acq t = Proofs.StableHLO.bnBatchLA 2 160 14 14 1 (Proofs.BatchSeal.kv 160 1) (Proofs.BatchSeal.kv 160 160) (Proofs.Mnv4FullBSeal.Zcq t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zce t = Proofs.StableHLO.batchMap 2 (Proofs.flatConv (Proofs.BatchSeal.ctK 960 160 1 1 1) (Proofs.BatchSeal.kv 960 0)) (Proofs.Mnv4FullBSeal.Acq t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Ace t = Proofs.StableHLO.bnBatchLA 2 960 14 14 1 (Proofs.BatchSeal.kv 960 1) (Proofs.BatchSeal.kv 960 160) (Proofs.Mnv4FullBSeal.Zce t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zcd t = Proofs.StableHLO.batchMap 2 (Proofs.depthwiseStride2Flat (Proofs.BatchSeal.ctDW 960 5 5 1) (Proofs.BatchSeal.kv 960 0)) (Proofs.Mnv4FullBSeal.Ace t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Acd t = Proofs.StableHLO.bnBatchLA 2 960 7 7 1 (Proofs.BatchSeal.kv 960 1) (Proofs.BatchSeal.kv 960 160) (Proofs.Mnv4FullBSeal.Zcd t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zcz t = Proofs.StableHLO.batchMap 2 (Proofs.flatConv (Proofs.BatchSeal.ctK 256 960 1 1 1) (Proofs.BatchSeal.kv 256 0)) (Proofs.Mnv4FullBSeal.Acd t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Acz t = Proofs.StableHLO.bnBatchLA 2 256 7 7 1 (Proofs.BatchSeal.kv 256 1) (Proofs.BatchSeal.kv 256 0) (Proofs.Mnv4FullBSeal.Zcz t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zh1 t = Proofs.StableHLO.batchMap 2 (Proofs.flatConv (Proofs.BatchSeal.ctK 960 256 1 1 1) (Proofs.BatchSeal.kv 960 0)) (Proofs.Mnv4FullBSeal.Acz t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Ah1 t = Proofs.StableHLO.bnBatchLA 2 960 7 7 1 (Proofs.BatchSeal.kv 960 1) (Proofs.BatchSeal.kv 960 160) (Proofs.Mnv4FullBSeal.Zh1 t)
Instances For
the pooled head features at [2, 960, 1, 1]: GAP of the first head stage, relabelled.
Equations
Instances For
Equations
- Proofs.Mnv4FullBSeal.Zh2 t = Proofs.StableHLO.batchMap 2 (Proofs.flatConv (Proofs.BatchSeal.ctK 1280 960 1 1 1) (Proofs.BatchSeal.kv 1280 0)) (Proofs.Mnv4FullBSeal.Pl t)
Instances For
Equations
- Proofs.Mnv4FullBSeal.Ah2 t = Proofs.StableHLO.bnBatchLA 2 1280 1 1 1 (Proofs.BatchSeal.kv 1280 1) (Proofs.BatchSeal.kv 1280 160) (Proofs.Mnv4FullBSeal.Zh2 t)
Instances For
one carrier BatchNorm's whole contribution: γ · istd at γ = 1.
Equations
- Proofs.Mnv4FullBSeal.rf n z = Proofs.bnIstd n z 1
Instances For
Equations
- Proofs.Mnv4FullBSeal.ds t o = Proofs.Mnv4FullBSeal.dx t 0 * Proofs.Mnv4FullBSeal.rf (2 * (112 * 112)) (Proofs.BatchSeal.bnRowLA 2 32 112 112 (Proofs.Mnv4FullBSeal.Zs t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.df t o = Proofs.Mnv4FullBSeal.ds t 0 * Proofs.Mnv4FullBSeal.rf (2 * (56 * 56)) (Proofs.BatchSeal.bnRowLA 2 128 56 56 (Proofs.Mnv4FullBSeal.Zf t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.d1p t o = Proofs.Mnv4FullBSeal.df t 0 * Proofs.Mnv4FullBSeal.rf (2 * (56 * 56)) (Proofs.BatchSeal.bnRowLA 2 48 56 56 (Proofs.Mnv4FullBSeal.Z1p t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.daq t ch = Proofs.Mnv4FullBSeal.d1p t ch * Proofs.Mnv4FullBSeal.rf (2 * (56 * 56)) (Proofs.BatchSeal.bnRowLA 2 48 56 56 (Proofs.Mnv4FullBSeal.Zaq t) ch)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dae t o = Proofs.Mnv4FullBSeal.daq t 0 * Proofs.Mnv4FullBSeal.rf (2 * (56 * 56)) (Proofs.BatchSeal.bnRowLA 2 192 56 56 (Proofs.Mnv4FullBSeal.Zae t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dad t ch = Proofs.Mnv4FullBSeal.dae t ch * Proofs.Mnv4FullBSeal.rf (2 * (28 * 28)) (Proofs.BatchSeal.bnRowLA 2 192 28 28 (Proofs.Mnv4FullBSeal.Zad t) ch)
Instances For
Equations
- Proofs.Mnv4FullBSeal.daz t o = Proofs.Mnv4FullBSeal.dad t 0 * Proofs.Mnv4FullBSeal.rf (2 * (28 * 28)) (Proofs.BatchSeal.bnRowLA 2 80 28 28 (Proofs.Mnv4FullBSeal.Zaz t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dbq t ch = Proofs.Mnv4FullBSeal.daz t ch * Proofs.Mnv4FullBSeal.rf (2 * (28 * 28)) (Proofs.BatchSeal.bnRowLA 2 80 28 28 (Proofs.Mnv4FullBSeal.Zbq t) ch)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dbe t o = Proofs.Mnv4FullBSeal.dbq t 0 * Proofs.Mnv4FullBSeal.rf (2 * (28 * 28)) (Proofs.BatchSeal.bnRowLA 2 480 28 28 (Proofs.Mnv4FullBSeal.Zbe t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dbd t ch = Proofs.Mnv4FullBSeal.dbe t ch * Proofs.Mnv4FullBSeal.rf (2 * (14 * 14)) (Proofs.BatchSeal.bnRowLA 2 480 14 14 (Proofs.Mnv4FullBSeal.Zbd t) ch)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dbz t o = Proofs.Mnv4FullBSeal.dbd t 0 * Proofs.Mnv4FullBSeal.rf (2 * (14 * 14)) (Proofs.BatchSeal.bnRowLA 2 160 14 14 (Proofs.Mnv4FullBSeal.Zbz t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dcq t ch = Proofs.Mnv4FullBSeal.dbz t ch * Proofs.Mnv4FullBSeal.rf (2 * (14 * 14)) (Proofs.BatchSeal.bnRowLA 2 160 14 14 (Proofs.Mnv4FullBSeal.Zcq t) ch)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dce t o = Proofs.Mnv4FullBSeal.dcq t 0 * Proofs.Mnv4FullBSeal.rf (2 * (14 * 14)) (Proofs.BatchSeal.bnRowLA 2 960 14 14 (Proofs.Mnv4FullBSeal.Zce t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dcd t ch = Proofs.Mnv4FullBSeal.dce t ch * Proofs.Mnv4FullBSeal.rf (2 * (7 * 7)) (Proofs.BatchSeal.bnRowLA 2 960 7 7 (Proofs.Mnv4FullBSeal.Zcd t) ch)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dcz t o = Proofs.Mnv4FullBSeal.dcd t 0 * Proofs.Mnv4FullBSeal.rf (2 * (7 * 7)) (Proofs.BatchSeal.bnRowLA 2 256 7 7 (Proofs.Mnv4FullBSeal.Zcz t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dh1 t o = Proofs.Mnv4FullBSeal.dcz t 0 * Proofs.Mnv4FullBSeal.rf (2 * (7 * 7)) (Proofs.BatchSeal.bnRowLA 2 960 7 7 (Proofs.Mnv4FullBSeal.Zh1 t) o)
Instances For
Equations
- Proofs.Mnv4FullBSeal.dh2 t o = Proofs.Mnv4FullBSeal.dh1 t 0 * Proofs.Mnv4FullBSeal.rf (2 * (1 * 1)) (Proofs.BatchSeal.bnRowLA 2 1280 1 1 (Proofs.Mnv4FullBSeal.Zh2 t) o)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
the stem's relu is the identity here, so mnv4Pre0 IS the stem BatchNorm.
The class-0 difference between the two examples, along the ray: t times the
seventeen BatchNorm factors on the carrier's path.
Level 2 — the witness is non-degenerate: the full-width batch-BN MobileNetV4-Conv-M at the structural weights is NOT constant in its input.
Level 3 — the whole-net Jacobian is nonzero at the witness.
The seal: the proven whole-network backward of the full-width, batch-BatchNorm,
21-block MobileNetV4-Conv-M at the table's side f = 7 (224×224) — mobilenetv4ForwardBFull, the training-BatchNorm
forward of the MobileNetV4 train steps (the mnv4in_emaacc* ones add classifier dropout),
here at N = 2 — is not the zero map at the witness.