Documentation

LeanMlir.Proofs.Nets.ConvNeXt.ConvNeXtParamGrad

ConvNeXt-T — every parameter gradient node IS the loss's derivative in that parameter #

cnx_net_tiedGB says each of the 182 parameter gradient nodes denotes its layer's parameter Jacobian contracted with the cotangent the emitted backward chain threads to it, the chain's top being the smoothed-loss cotangent. cnx_net_lossGrad composes that with the chain: for any loss L of the logits whose gradient at the net's output is g, the loss of the WHOLE net cnxNetB with that one parameter varied is differentiable in it and every node is its gradient (HasGradAt). cnxNetB is the tie's forward, batched, at its stochastic-depth sites sd; at none it is batchMap N of the canonical convNextForwardTCh (cnxNetB_eq_convNextForwardTCh). cnx_net_lossGrad_smoothedCE discharges hL for the label-smoothed loss the artifacts ship (smoothedBatchLossDiv, whose gradient is the softmaxDiv cotangent the render emits).

How. No ConvNeXt op couples examples, so the work is per example and lifted once:

The stem's bias node is emitted as a stride-1 convBiasGradB at the output resolution, and reads no input; its Jacobian in the bias is the channel indicator whatever the conv, so it is the patchify conv's (GradNodeB.pdiv_flatConvStride4_bias_eq_conv2d), as in the tie.

Hypotheses. 0 < ε (the LayerNorms' VJPs); no smoothness hypothesis. For the smoothed loss, every example's target sums to one and 0 < nC. Stochastic depth is the tie's sd binder, none the drop-free chain.

Scope. One replica, at either precision: every conv, depthwise, strided-conv and patchify weight node is stated on the renderers' switch (convWeightGradBAt bf16 id …, depthwiseWeightGradBAt bf16 id …, convStridedWeightGradBAt bf16 id …, convStride4WeightGradBAt bf16 id …; StableHLO.PrecisionSwitch), so bf16 := true is the bf16 kind the convnextin_*bf16 artifacts emit, read over ℝ at the identity rounding (Bf16Erasure), and bf16 := false the f32 artifacts'. The bias, LayerNorm, layer-scale and classifier nodes carry no flag because no render switches them.

theorem Proofs.CnxTieGB.layerScaleCh_gamma_differentiable (c h w : ℕ) (x : Vec (c * h * w)) :
Differentiable ℝ fun (γ : Vec c) => layerScale (fun (k : Fin (c * h * w)) => γ (StableHLO.chanIdx c h w k)) x
theorem Proofs.CnxTieGB.flatConvStride4_weight_differentiable {ic oc h w kH kW : ℕ} (b : Vec oc) (y : Vec (ic * (2 * (2 * h)) * (2 * (2 * w)))) :
Differentiable ℝ fun (θ : Vec (oc * ic * kH * kW)) => flatConvStride4 (Kernel4.unflatten θ) b y
theorem Proofs.CnxTieGB.flatConvStride4_bias_differentiable {ic oc h w kH kW : ℕ} (W : Kernel4 oc ic kH kW) (y : Vec (ic * (2 * (2 * h)) * (2 * (2 * w)))) :
Differentiable ℝ fun (θ : Vec oc) => flatConvStride4 W θ y
noncomputable def Proofs.CnxTieGB.cnxPostP {c cExp : ℕ} (h w : ℕ) (p : CnxTie.CnxTieBlk c cExp) (s : Option ℝ) (y : Vec (c * h * w)) :
Vec (c * h * w) → Vec (c * h * w)

The block after the project conv: layer scale, the drop site, then the identity skip.

Equations
Instances For
    noncomputable def Proofs.CnxTieGB.cnxPostE {c cExp : ℕ} (gf : GeluForm) (h w : ℕ) (p : CnxTie.CnxTieBlk c cExp) (s : Option ℝ) (y : Vec (c * h * w)) :
    Vec (cExp * h * w) → Vec (c * h * w)

    The block after the expand conv (pre-GELU).

    Equations
    Instances For
      noncomputable def Proofs.CnxTieGB.cnxPostN {c cExp : ℕ} (gf : GeluForm) (h w : ℕ) (p : CnxTie.CnxTieBlk c cExp) (s : Option ℝ) (y : Vec (c * h * w)) :
      Vec (c * h * w) → Vec (c * h * w)

      The block after the channel LN.

      Equations
      Instances For
        noncomputable def Proofs.CnxTieGB.cnxPostD {c cExp : ℕ} (gf : GeluForm) (h w : ℕ) (ε : ℝ) (p : CnxTie.CnxTieBlk c cExp) (s : Option ℝ) (y : Vec (c * h * w)) :
        Vec (c * h * w) → Vec (c * h * w)

        The block after the depthwise conv.

        Equations
        Instances For
          noncomputable def Proofs.CnxTieGB.cnxActD {c cExp : ℕ} (h w : ℕ) (p : CnxTie.CnxTieBlk c cExp) (y : Vec (c * h * w)) :
          Vec (c * h * w)

          The depthwise conv's output.

          Equations
          Instances For
            noncomputable def Proofs.CnxTieGB.cnxActNl {c cExp : ℕ} (h w : ℕ) (ε : ℝ) (p : CnxTie.CnxTieBlk c cExp) (y : Vec (c * h * w)) :
            Vec (c * h * w)

            The channel LN's output.

            Equations
            Instances For
              noncomputable def Proofs.CnxTieGB.cnxActG {c cExp : ℕ} (gf : GeluForm) (h w : ℕ) (ε : ℝ) (p : CnxTie.CnxTieBlk c cExp) (y : Vec (c * h * w)) :
              Vec (cExp * h * w)

              The GELU's output (the project conv's input).

              Equations
              Instances For
                noncomputable def Proofs.CnxTieGB.cnxActP {c cExp : ℕ} (gf : GeluForm) (h w : ℕ) (ε : ℝ) (p : CnxTie.CnxTieBlk c cExp) (y : Vec (c * h * w)) :
                Vec (c * h * w)

                The project conv's output (the layer scale's input).

                Equations
                Instances For
                  theorem Proofs.CnxTieGB.cnxPostP_differentiable {c cExp : ℕ} (h w : ℕ) (p : CnxTie.CnxTieBlk c cExp) (s : Option ℝ) (y : Vec (c * h * w)) :
                  theorem Proofs.CnxTieGB.cnxPostE_differentiable {c cExp : ℕ} {gf : GeluForm} (h w : ℕ) (p : CnxTie.CnxTieBlk c cExp) (s : Option ℝ) (y : Vec (c * h * w)) :
                  Differentiable ℝ (cnxPostE gf h w p s y)
                  theorem Proofs.CnxTieGB.cnxPostN_differentiable {c cExp : ℕ} {gf : GeluForm} (h w : ℕ) (p : CnxTie.CnxTieBlk c cExp) (s : Option ℝ) (y : Vec (c * h * w)) :
                  Differentiable ℝ (cnxPostN gf h w p s y)
                  theorem Proofs.CnxTieGB.cnxPostD_differentiable {c cExp : ℕ} {gf : GeluForm} (h w : ℕ) (ε : ℝ) (hε : 0 < ε) (p : CnxTie.CnxTieBlk c cExp) (s : Option ℝ) (y : Vec (c * h * w)) :
                  Differentiable ℝ (cnxPostD gf h w ε p s y)
                  theorem Proofs.CnxTieGB.cnxBlk_hasGradAt {c cExp : ℕ} {gf : GeluForm} {h w : ℕ} (ε : ℝ) (hε : 0 < ε) (p : CnxTie.CnxTieBlk c cExp) (s : Option ℝ) (y dy : Vec (c * h * w)) {G : Vec (c * h * w) → Vec 1} (hG : HasGradAt G (CnxTie.CnxTieBlk.fwdOD gf p ε s y) dy) :
                  HasGradAt (fun (u : Vec (c * h * w)) => G fun (i : Fin (c * h * w)) => siteScale s (u i) + y i) (layerScale (fun (k : Fin (c * h * w)) => p.sL (StableHLO.chanIdx c h w k)) (cnxActP gf h w ε p y)) (dropScalarOpt s dy) ∧ HasGradAt (fun (u : Vec (c * h * w)) => G (cnxPostP h w p s y u)) (cnxActP gf h w ε p y) (cnxCotP (fun (k : Fin (c * h * w)) => p.sL (StableHLO.chanIdx c h w k)) (dropScalarOpt s dy)) ∧ HasGradAt (fun (u : Vec (cExp * h * w)) => G (cnxPostE gf h w p s y u)) (flatConv p.eW p.eB (cnxActNl h w ε p y)) (blkCotE gf ε p.aW p.aB p.nG p.nB p.eW p.eB p.pW p.pB p.sL y (dropScalarOpt s dy)) ∧ HasGradAt (fun (u : Vec (c * h * w)) => G (cnxPostN gf h w p s y u)) (cnxActNl h w ε p y) (blkCotN gf ε p.aW p.aB p.nG p.nB p.eW p.eB p.pW p.pB p.sL y (dropScalarOpt s dy)) ∧ HasGradAt (fun (u : Vec (c * h * w)) => G (cnxPostD gf h w ε p s y u)) (cnxActD h w p y) (blkCotD gf ε p.aW p.aB p.nG p.nB p.eW p.eB p.pW p.pB p.sL y (dropScalarOpt s dy))

                  A block's cotangents are loss gradients, per example at its drop site s: from the gradient dy at the block output, the loss read after each activation has the tie's cotangent there — s ⊙ dy at the layer scale's output, cnxCotP of it at the project conv's, then blkCotE, blkCotN, blkCotD at s ⊙ dy.

                  def Proofs.CnxTieGB.cnxBlockLossTiedGB {c cExp : ℕ} (gf : GeluForm) (N : ℕ) {h w : ℕ} (xN epsStr cotN : String) (ε : ℝ) (p : CnxTie.CnxTieBlk c cExp) (bf16 : Bool) (sd : Option (Vec N)) (xin : Vec (N * (c * h * w))) (Φ : CnxTie.CnxTieBlk c cExp → Vec 1) (dyOut : Vec (N * (c * h * w))) :

                  ConvNeXt block, every parameter node a loss derivative — the nine nodes cnxBlockChTiedGB ties, at the tie's batched activations and cotangents, Φ the loss at the block's output as a function of the block's weight record.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    theorem Proofs.CnxTieGB.cnx_block_lossTiedGB {c cExp : ℕ} {gf : GeluForm} (N : ℕ) {h w : ℕ} (xN epsStr cotN : String) (ε : ℝ) (hε : 0 < ε) (p : CnxTie.CnxTieBlk c cExp) (bf16 : Bool) (sd : Option (Vec N)) (xin : Vec (N * (c * h * w))) {Lb : Vec (N * (c * h * w)) → Vec 1} {dyOut : Vec (N * (c * h * w))} (hLb : HasGradAt Lb (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite sd n)) xin) dyOut) {Φ : CnxTie.CnxTieBlk c cExp → Vec 1} (hΦ : ∀ (p' : CnxTie.CnxTieBlk c cExp), Φ p' = Lb (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p' ε (exampleSite sd n)) xin)) :
                    cnxBlockLossTiedGB gf N xN epsStr cotN ε p bf16 sd xin Φ dyOut
                    def Proofs.CnxTieGB.cnxDownLossTiedGB {ci co : ℕ} (N : ℕ) {h w : ℕ} (xN epsStr cotN : String) (ε : ℝ) (p : CnxTie.CnxTieDown ci co) (bf16 : Bool) (xin : Vec (N * (ci * (2 * h) * (2 * w)))) (Φ : CnxTie.CnxTieDown ci co → Vec 1) (dyOut : Vec (N * (co * h * w))) :

                    Downsample, every parameter node a loss derivative — the four nodes cnxDownChTiedGB ties.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem Proofs.CnxTieGB.cnx_down_lossTiedGB {ci co : ℕ} (N : ℕ) {h w : ℕ} (xN epsStr cotN : String) (ε : ℝ) (p : CnxTie.CnxTieDown ci co) (bf16 : Bool) (xin : Vec (N * (ci * (2 * h) * (2 * w)))) {Lb : Vec (N * (co * h * w)) → Vec 1} {dyOut : Vec (N * (co * h * w))} (hLb : HasGradAt Lb (StableHLO.batchMap N (p.fwdO ε) xin) dyOut) {Φ : CnxTie.CnxTieDown ci co → Vec 1} (hΦ : ∀ (p' : CnxTie.CnxTieDown ci co), Φ p' = Lb (StableHLO.batchMap N (p'.fwdO ε) xin)) :
                      cnxDownLossTiedGB N xN epsStr cotN ε p bf16 xin Φ dyOut
                      def Proofs.CnxTieGB.cnxStemLossTiedGB {c : ℕ} (N : ℕ) {h w : ℕ} (xN epsStr cotN : String) (ε : ℝ) (Wst : Kernel4 c 3 4 4) (psb psng psnbt : Vec c) (bf16 : Bool) (x : Vec (N * (3 * (2 * (2 * h)) * (2 * (2 * w))))) (Φ : Kernel4 c 3 4 4 → Vec c → Vec c → Vec c → Vec 1) (dyStem : Vec (N * (c * h * w))) :

                      Stem, every parameter node a loss derivative — the four nodes cnxStemChTiedGB ties. The bias node is the emitted stride-1 convBiasGradB, which reads no input (stated at zero).

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem Proofs.CnxTieGB.cnx_stem_lossTiedGB {c : ℕ} (N : ℕ) {h w : ℕ} (xN epsStr cotN : String) (ε : ℝ) (hε : 0 < ε) (Wst : Kernel4 c 3 4 4) (psb psng psnbt : Vec c) (bf16 : Bool) (x : Vec (N * (3 * (2 * (2 * h)) * (2 * (2 * w))))) {Lb : Vec (N * (c * h * w)) → Vec 1} {dyStem : Vec (N * (c * h * w))} (hLb : HasGradAt Lb (StableHLO.batchMap N (CnxTie.cnxStemFwdO ε Wst psb psng psnbt) x) dyStem) {Φ : Kernel4 c 3 4 4 → Vec c → Vec c → Vec c → Vec 1} (hΦ : ∀ (W : Kernel4 c 3 4 4) (b γ β : Vec c), Φ W b γ β = Lb (StableHLO.batchMap N (CnxTie.cnxStemFwdO ε W b γ β) x)) :
                        cnxStemLossTiedGB N xN epsStr cotN ε Wst psb psng psnbt bf16 x Φ dyStem
                        noncomputable def Proofs.CnxTieGB.cnxHeadO (h w : ℕ) {nC : ℕ} (ε : ℝ) (hng hnbt : Vec 768) (Wfc : Mat 768 nC) (bfc : Vec nC) :
                        Vec (768 * h * w) → Vec nC

                        The head per example: GAP, then LayerNorm at one row, then the dense classifier.

                        Equations
                        Instances For
                          def Proofs.CnxTieGB.cnxHeadLossTiedGB (N : ℕ) {h w nC : ℕ} (xN epsStr cotN dN : String) (ε : ℝ) (hng hnbt : Vec 768) (Wfc : Mat 768 nC) (bfc : Vec nC) (xhead : Vec (N * (768 * h * w))) (Φ : Vec 768 → Vec 768 → Mat 768 nC → Vec nC → Vec 1) (g : Vec (N * nC)) :

                          Head, every parameter node a loss derivative — the four nodes cnxHeadChTiedGB ties.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem Proofs.CnxTieGB.cnx_head_lossTiedGB (N : ℕ) {h w nC : ℕ} (xN epsStr cotN dN : String) (ε : ℝ) (hng hnbt : Vec 768) (Wfc : Mat 768 nC) (bfc : Vec nC) (xhead : Vec (N * (768 * h * w))) {L : Vec (N * nC) → Vec 1} {g : Vec (N * nC)} (hL : HasGradAt L (StableHLO.batchMap N (cnxHeadO h w ε hng hnbt Wfc bfc) xhead) g) {Φ : Vec 768 → Vec 768 → Mat 768 nC → Vec nC → Vec 1} (hΦ : ∀ (a b : Vec 768) (W : Mat 768 nC) (bb : Vec nC), Φ a b W bb = L (StableHLO.batchMap N (cnxHeadO h w ε a b W bb) xhead)) :
                            cnxHeadLossTiedGB N xN epsStr cotN dN ε hng hnbt Wfc bfc xhead Φ g
                            theorem Proofs.CnxTieGB.cnxBlkB_hasGradAt_comp {gf : GeluForm} (N : ℕ) {c cExp h w : ℕ} (ε : ℝ) (hε : 0 < ε) (p : CnxTie.CnxTieBlk c cExp) (sd : Option (Vec N)) (X : Vec (N * (c * h * w))) {G : Vec (N * (c * h * w)) → Vec 1} {dY : Vec (N * (c * h * w))} (hG : HasGradAt G (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite sd n)) X) dY) :
                            HasGradAt (fun (y : Vec (N * (c * h * w))) => G (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite sd n)) y)) X (StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf p ε (exampleSite sd n)) X dY)

                            Pull the loss gradient back through a batched block's certified VJP at its drop site: the cotangent is the tie's batchMapAuxIdx N (p.cotInD ε …) (cnxBlockCotInB_eq_vjp).

                            theorem Proofs.CnxTieGB.cnxDownB_hasGradAt_comp (N : ℕ) {ci co h w : ℕ} (ε : ℝ) (hε : 0 < ε) (p : CnxTie.CnxTieDown ci co) (X : Vec (N * (ci * (2 * h) * (2 * w)))) {G : Vec (N * (co * h * w)) → Vec 1} {dY : Vec (N * (co * h * w))} (hG : HasGradAt G (StableHLO.batchMap N (p.fwdO ε) X) dY) :
                            HasGradAt (fun (y : Vec (N * (ci * (2 * h) * (2 * w)))) => G (StableHLO.batchMap N (p.fwdO ε) y)) X (StableHLO.batchMapAux N (p.cotIn ε) X dY)

                            …through a batched downsample (cnxDownCotInB_eq_vjp).

                            theorem Proofs.CnxTieGB.cnxHeadB_hasGradAt_comp (N : ℕ) {h w nC : ℕ} (ε : ℝ) (hε : 0 < ε) (hng hnbt : Vec 768) (Wfc : Mat 768 nC) (bfc : Vec nC) (X : Vec (N * (768 * h * w))) {L : Vec (N * nC) → Vec 1} {g : Vec (N * nC)} (hL : HasGradAt L (StableHLO.batchMap N (cnxHeadO h w ε hng hnbt Wfc bfc) X) g) :
                            HasGradAt (fun (y : Vec (N * (768 * h * w))) => L (StableHLO.batchMap N (cnxHeadO h w ε hng hnbt Wfc bfc) y)) X (StableHLO.batchMapAux N (cnxHeadDyXheadChN ε hng hnbt Wfc bfc) X g)

                            …and through the batched head (cnxHeadDyB_eq_vjp).

                            noncomputable def Proofs.CnxTieGB.cnxNetB (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                            Vec (N * nC)

                            ConvNeXt-T, batched: the tie's forward, stage by stage — batchMap N of the stem, batchMapIdx N of each block at its site, batchMap N of each downsample and the head. At sd = none it is batchMap N (convNextForwardTCh (w.toCh ε)) (cnxNetB_eq_convNextForwardTCh).

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              noncomputable def Proofs.CnxTieGB.cnxPreS (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) :
                              Vec (N * (3 * 224 * 224)) → Vec (N * (96 * 56 * 56))

                              The stem's output — block b1's input (the tie's ib1).

                              Equations
                              Instances For
                                noncomputable def Proofs.CnxTieGB.cnxPreB1 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                Vec (N * (3 * 224 * 224)) → Vec (N * (96 * 56 * 56))

                                Stage b1's output.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  noncomputable def Proofs.CnxTieGB.cnxPreB2 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                  Vec (N * (3 * 224 * 224)) → Vec (N * (96 * 56 * 56))

                                  Stage b2's output.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    noncomputable def Proofs.CnxTieGB.cnxPreB3 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                    Vec (N * (3 * 224 * 224)) → Vec (N * (96 * 56 * 56))

                                    Stage b3's output.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      noncomputable def Proofs.CnxTieGB.cnxPreD0 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                      Vec (N * (3 * 224 * 224)) → Vec (N * (192 * 28 * 28))

                                      Stage d0's output.

                                      Equations
                                      Instances For
                                        noncomputable def Proofs.CnxTieGB.cnxPreB4 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                        Vec (N * (3 * 224 * 224)) → Vec (N * (192 * 28 * 28))

                                        Stage b4's output.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          noncomputable def Proofs.CnxTieGB.cnxPreB5 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                          Vec (N * (3 * 224 * 224)) → Vec (N * (192 * 28 * 28))

                                          Stage b5's output.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            noncomputable def Proofs.CnxTieGB.cnxPreB6 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                            Vec (N * (3 * 224 * 224)) → Vec (N * (192 * 28 * 28))

                                            Stage b6's output.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              noncomputable def Proofs.CnxTieGB.cnxPreD1 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                              Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                              Stage d1's output.

                                              Equations
                                              Instances For
                                                noncomputable def Proofs.CnxTieGB.cnxPreB7 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                                Stage b7's output.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  noncomputable def Proofs.CnxTieGB.cnxPreB8 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                  Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                                  Stage b8's output.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    noncomputable def Proofs.CnxTieGB.cnxPreB9 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                    Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                                    Stage b9's output.

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      noncomputable def Proofs.CnxTieGB.cnxPreB10 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                      Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                                      Stage b10's output.

                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        noncomputable def Proofs.CnxTieGB.cnxPreB11 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                        Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                                        Stage b11's output.

                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          noncomputable def Proofs.CnxTieGB.cnxPreB12 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                          Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                                          Stage b12's output.

                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            noncomputable def Proofs.CnxTieGB.cnxPreB13 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                            Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                                            Stage b13's output.

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              noncomputable def Proofs.CnxTieGB.cnxPreB14 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                              Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                                              Stage b14's output.

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                noncomputable def Proofs.CnxTieGB.cnxPreB15 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                Vec (N * (3 * 224 * 224)) → Vec (N * (384 * 14 * 14))

                                                                Stage b15's output.

                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For
                                                                  noncomputable def Proofs.CnxTieGB.cnxPreD2 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                  Vec (N * (3 * 224 * 224)) → Vec (N * (768 * 7 * 7))

                                                                  Stage d2's output.

                                                                  Equations
                                                                  Instances For
                                                                    noncomputable def Proofs.CnxTieGB.cnxPreB16 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                    Vec (N * (3 * 224 * 224)) → Vec (N * (768 * 7 * 7))

                                                                    Stage b16's output.

                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      noncomputable def Proofs.CnxTieGB.cnxPreB17 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                      Vec (N * (3 * 224 * 224)) → Vec (N * (768 * 7 * 7))

                                                                      Stage b17's output.

                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For
                                                                        noncomputable def Proofs.CnxTieGB.cnxPreB18 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                        Vec (N * (3 * 224 * 224)) → Vec (N * (768 * 7 * 7))

                                                                        Stage b18's output.

                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        Instances For
                                                                          theorem Proofs.CnxTieGB.cnxPreS_apply (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (x : Vec (N * (3 * 224 * 224))) :
                                                                          theorem Proofs.CnxTieGB.cnxPreB1_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB1 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b1 ε (exampleSite (cnxSd sd 0) n)) (cnxPreS N ε w x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB2_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB2 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b2 ε (exampleSite (cnxSd sd 1) n)) (cnxPreB1 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB3_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB3 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b3 ε (exampleSite (cnxSd sd 2) n)) (cnxPreB2 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreD0_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreD0 gf N ε w sd x = StableHLO.batchMap N (w.d0.fwdO ε) (cnxPreB3 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB4_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB4 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b4 ε (exampleSite (cnxSd sd 3) n)) (cnxPreD0 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB5_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB5 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b5 ε (exampleSite (cnxSd sd 4) n)) (cnxPreB4 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB6_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB6 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b6 ε (exampleSite (cnxSd sd 5) n)) (cnxPreB5 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreD1_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreD1 gf N ε w sd x = StableHLO.batchMap N (w.d1.fwdO ε) (cnxPreB6 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB7_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB7 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b7 ε (exampleSite (cnxSd sd 6) n)) (cnxPreD1 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB8_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB8 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b8 ε (exampleSite (cnxSd sd 7) n)) (cnxPreB7 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB9_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB9 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b9 ε (exampleSite (cnxSd sd 8) n)) (cnxPreB8 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB10_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB10 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b10 ε (exampleSite (cnxSd sd 9) n)) (cnxPreB9 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB11_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB11 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b11 ε (exampleSite (cnxSd sd 10) n)) (cnxPreB10 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB12_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB12 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b12 ε (exampleSite (cnxSd sd 11) n)) (cnxPreB11 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB13_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB13 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b13 ε (exampleSite (cnxSd sd 12) n)) (cnxPreB12 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB14_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB14 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b14 ε (exampleSite (cnxSd sd 13) n)) (cnxPreB13 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB15_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB15 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b15 ε (exampleSite (cnxSd sd 14) n)) (cnxPreB14 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreD2_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreD2 gf N ε w sd x = StableHLO.batchMap N (w.d2.fwdO ε) (cnxPreB15 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB16_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB16 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b16 ε (exampleSite (cnxSd sd 15) n)) (cnxPreD2 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB17_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB17 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b17 ε (exampleSite (cnxSd sd 16) n)) (cnxPreB16 gf N ε w sd x)
                                                                          theorem Proofs.CnxTieGB.cnxPreB18_apply {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                          cnxPreB18 gf N ε w sd x = StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b18 ε (exampleSite (cnxSd sd 17) n)) (cnxPreB17 gf N ε w sd x)
                                                                          noncomputable def Proofs.CnxTieGB.cnxSufB18 (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) :
                                                                          Vec (N * (768 * 7 * 7)) → Vec (N * nC)

                                                                          The net after block b18 — the head.

                                                                          Equations
                                                                          Instances For
                                                                            noncomputable def Proofs.CnxTieGB.cnxSufB17 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                            Vec (N * (768 * 7 * 7)) → Vec (N * nC)

                                                                            The net after stage b17: stage b18, then the rest.

                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            Instances For
                                                                              noncomputable def Proofs.CnxTieGB.cnxSufB16 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                              Vec (N * (768 * 7 * 7)) → Vec (N * nC)

                                                                              The net after stage b16: stage b17, then the rest.

                                                                              Equations
                                                                              • One or more equations did not get rendered due to their size.
                                                                              Instances For
                                                                                noncomputable def Proofs.CnxTieGB.cnxSufD2 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                Vec (N * (768 * 7 * 7)) → Vec (N * nC)

                                                                                The net after stage d2: stage b16, then the rest.

                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For
                                                                                  noncomputable def Proofs.CnxTieGB.cnxSufB15 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                  Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                  The net after stage b15: stage d2, then the rest.

                                                                                  Equations
                                                                                  Instances For
                                                                                    noncomputable def Proofs.CnxTieGB.cnxSufB14 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                    Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                    The net after stage b14: stage b15, then the rest.

                                                                                    Equations
                                                                                    • One or more equations did not get rendered due to their size.
                                                                                    Instances For
                                                                                      noncomputable def Proofs.CnxTieGB.cnxSufB13 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                      Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                      The net after stage b13: stage b14, then the rest.

                                                                                      Equations
                                                                                      • One or more equations did not get rendered due to their size.
                                                                                      Instances For
                                                                                        noncomputable def Proofs.CnxTieGB.cnxSufB12 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                        Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                        The net after stage b12: stage b13, then the rest.

                                                                                        Equations
                                                                                        • One or more equations did not get rendered due to their size.
                                                                                        Instances For
                                                                                          noncomputable def Proofs.CnxTieGB.cnxSufB11 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                          Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                          The net after stage b11: stage b12, then the rest.

                                                                                          Equations
                                                                                          • One or more equations did not get rendered due to their size.
                                                                                          Instances For
                                                                                            noncomputable def Proofs.CnxTieGB.cnxSufB10 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                            Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                            The net after stage b10: stage b11, then the rest.

                                                                                            Equations
                                                                                            • One or more equations did not get rendered due to their size.
                                                                                            Instances For
                                                                                              noncomputable def Proofs.CnxTieGB.cnxSufB9 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                              Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                              The net after stage b9: stage b10, then the rest.

                                                                                              Equations
                                                                                              • One or more equations did not get rendered due to their size.
                                                                                              Instances For
                                                                                                noncomputable def Proofs.CnxTieGB.cnxSufB8 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                                The net after stage b8: stage b9, then the rest.

                                                                                                Equations
                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                Instances For
                                                                                                  noncomputable def Proofs.CnxTieGB.cnxSufB7 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                  Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                                  The net after stage b7: stage b8, then the rest.

                                                                                                  Equations
                                                                                                  • One or more equations did not get rendered due to their size.
                                                                                                  Instances For
                                                                                                    noncomputable def Proofs.CnxTieGB.cnxSufD1 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                    Vec (N * (384 * 14 * 14)) → Vec (N * nC)

                                                                                                    The net after stage d1: stage b7, then the rest.

                                                                                                    Equations
                                                                                                    • One or more equations did not get rendered due to their size.
                                                                                                    Instances For
                                                                                                      noncomputable def Proofs.CnxTieGB.cnxSufB6 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                      Vec (N * (192 * 28 * 28)) → Vec (N * nC)

                                                                                                      The net after stage b6: stage d1, then the rest.

                                                                                                      Equations
                                                                                                      Instances For
                                                                                                        noncomputable def Proofs.CnxTieGB.cnxSufB5 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                        Vec (N * (192 * 28 * 28)) → Vec (N * nC)

                                                                                                        The net after stage b5: stage b6, then the rest.

                                                                                                        Equations
                                                                                                        • One or more equations did not get rendered due to their size.
                                                                                                        Instances For
                                                                                                          noncomputable def Proofs.CnxTieGB.cnxSufB4 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                          Vec (N * (192 * 28 * 28)) → Vec (N * nC)

                                                                                                          The net after stage b4: stage b5, then the rest.

                                                                                                          Equations
                                                                                                          • One or more equations did not get rendered due to their size.
                                                                                                          Instances For
                                                                                                            noncomputable def Proofs.CnxTieGB.cnxSufD0 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                            Vec (N * (192 * 28 * 28)) → Vec (N * nC)

                                                                                                            The net after stage d0: stage b4, then the rest.

                                                                                                            Equations
                                                                                                            • One or more equations did not get rendered due to their size.
                                                                                                            Instances For
                                                                                                              noncomputable def Proofs.CnxTieGB.cnxSufB3 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                              Vec (N * (96 * 56 * 56)) → Vec (N * nC)

                                                                                                              The net after stage b3: stage d0, then the rest.

                                                                                                              Equations
                                                                                                              Instances For
                                                                                                                noncomputable def Proofs.CnxTieGB.cnxSufB2 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                                Vec (N * (96 * 56 * 56)) → Vec (N * nC)

                                                                                                                The net after stage b2: stage b3, then the rest.

                                                                                                                Equations
                                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                                Instances For
                                                                                                                  noncomputable def Proofs.CnxTieGB.cnxSufB1 (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                                  Vec (N * (96 * 56 * 56)) → Vec (N * nC)

                                                                                                                  The net after stage b1: stage b2, then the rest.

                                                                                                                  Equations
                                                                                                                  • One or more equations did not get rendered due to their size.
                                                                                                                  Instances For
                                                                                                                    noncomputable def Proofs.CnxTieGB.cnxSufS (gf : GeluForm) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) :
                                                                                                                    Vec (N * (96 * 56 * 56)) → Vec (N * nC)

                                                                                                                    The net after the stem: stage b1, then the rest.

                                                                                                                    Equations
                                                                                                                    • One or more equations did not get rendered due to their size.
                                                                                                                    Instances For
                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_stem {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (W : Kernel4 96 3 4 4) (b γ β : Vec 96) :
                                                                                                                      cnxNetB gf N ε { sW := W, sb := b, sγ := γ, sβ := β, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufS gf N ε w sd (StableHLO.batchMap N (CnxTie.cnxStemFwdO ε W b γ β) x)

                                                                                                                      The net with the stem's parameters varied is the suffix after the stem at the varied stem.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b1 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 96 384) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := p, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB1 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 0) n)) (cnxPreS N ε w x))

                                                                                                                      The net with stage b1's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b2 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 96 384) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := p, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB2 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 1) n)) (cnxPreB1 gf N ε w sd x))

                                                                                                                      The net with stage b2's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b3 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 96 384) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := p, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB3 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 2) n)) (cnxPreB2 gf N ε w sd x))

                                                                                                                      The net with stage b3's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_d0 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieDown 96 192) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := p, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufD0 gf N ε w sd (StableHLO.batchMap N (p.fwdO ε) (cnxPreB3 gf N ε w sd x))

                                                                                                                      The net with stage d0's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b4 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 192 768) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := p, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB4 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 3) n)) (cnxPreD0 gf N ε w sd x))

                                                                                                                      The net with stage b4's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b5 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 192 768) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := p, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB5 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 4) n)) (cnxPreB4 gf N ε w sd x))

                                                                                                                      The net with stage b5's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b6 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 192 768) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := p, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB6 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 5) n)) (cnxPreB5 gf N ε w sd x))

                                                                                                                      The net with stage b6's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_d1 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieDown 192 384) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := p, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufD1 gf N ε w sd (StableHLO.batchMap N (p.fwdO ε) (cnxPreB6 gf N ε w sd x))

                                                                                                                      The net with stage d1's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b7 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 384 1536) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := p, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB7 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 6) n)) (cnxPreD1 gf N ε w sd x))

                                                                                                                      The net with stage b7's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b8 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 384 1536) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := p, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB8 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 7) n)) (cnxPreB7 gf N ε w sd x))

                                                                                                                      The net with stage b8's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b9 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 384 1536) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := p, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB9 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 8) n)) (cnxPreB8 gf N ε w sd x))

                                                                                                                      The net with stage b9's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b10 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 384 1536) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := p, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB10 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 9) n)) (cnxPreB9 gf N ε w sd x))

                                                                                                                      The net with stage b10's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b11 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 384 1536) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := p, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB11 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 10) n)) (cnxPreB10 gf N ε w sd x))

                                                                                                                      The net with stage b11's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b12 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 384 1536) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := p, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB12 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 11) n)) (cnxPreB11 gf N ε w sd x))

                                                                                                                      The net with stage b12's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b13 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 384 1536) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := p, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB13 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 12) n)) (cnxPreB12 gf N ε w sd x))

                                                                                                                      The net with stage b13's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b14 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 384 1536) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := p, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB14 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 13) n)) (cnxPreB13 gf N ε w sd x))

                                                                                                                      The net with stage b14's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b15 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 384 1536) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := p, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB15 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 14) n)) (cnxPreB14 gf N ε w sd x))

                                                                                                                      The net with stage b15's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_d2 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieDown 384 768) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := p, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufD2 gf N ε w sd (StableHLO.batchMap N (p.fwdO ε) (cnxPreB15 gf N ε w sd x))

                                                                                                                      The net with stage d2's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b16 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 768 3072) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := p, b17 := w.b17, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB16 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 15) n)) (cnxPreD2 gf N ε w sd x))

                                                                                                                      The net with stage b16's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b17 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 768 3072) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := p, b18 := w.b18, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB17 gf N ε w sd (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 16) n)) (cnxPreB16 gf N ε w sd x))

                                                                                                                      The net with stage b17's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_b18 {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (p : CnxTie.CnxTieBlk 768 3072) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := p, hG := w.hG, hT := w.hT, Wfc := w.Wfc, bfc := w.bfc } sd x = cnxSufB18 N ε w (StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf p ε (exampleSite (cnxSd sd 17) n)) (cnxPreB17 gf N ε w sd x))

                                                                                                                      The net with stage b18's weights varied is the suffix after it at the varied stage.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_factor_head {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (a b : Vec 768) (W : Mat 768 nC) (bb : Vec nC) :
                                                                                                                      cnxNetB gf N ε { sW := w.sW, sb := w.sb, sγ := w.sγ, sβ := w.sβ, b1 := w.b1, b2 := w.b2, b3 := w.b3, d0 := w.d0, b4 := w.b4, b5 := w.b5, b6 := w.b6, d1 := w.d1, b7 := w.b7, b8 := w.b8, b9 := w.b9, b10 := w.b10, b11 := w.b11, b12 := w.b12, b13 := w.b13, b14 := w.b14, b15 := w.b15, d2 := w.d2, b16 := w.b16, b17 := w.b17, b18 := w.b18, hG := a, hT := b, Wfc := W, bfc := bb } sd x = StableHLO.batchMap N (cnxHeadO 7 7 ε a b W bb) (cnxPreB18 gf N ε w sd x)

                                                                                                                      The net with the head varied is the head at the varied parameters.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_forward_eq_head {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                                                                      cnxNetB gf N ε w sd x = StableHLO.batchMap N (cnxHeadO 7 7 ε w.hG w.hT w.Wfc w.bfc) (cnxPreB18 gf N ε w sd x)

                                                                                                                      The net's output is the head at block b18's output.

                                                                                                                      theorem Proofs.CnxTieGB.cnx_logitsB_eq {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) :
                                                                                                                      StableHLO.batchMap N (dense w.Wfc w.bfc) (StableHLO.batchMap N (rowLNVecFlat 1 768 ε w.hG w.hT) (StableHLO.batchMap N (globalAvgPoolFlat 768 7 7) (cnxPreB18 gf N ε w sd x))) = cnxNetB gf N ε w sd x

                                                                                                                      The logits the tie's loss cotangent reads are cnxNetB's. The tie spells the head as three batched ops (batchMap_comp).

                                                                                                                      theorem Proofs.CnxTieGB.cnxNetB_eq_convNextForwardTCh {gf : GeluForm} (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (x : Vec (N * (3 * 224 * 224))) :

                                                                                                                      Without stochastic depth cnxNetB is the canonical ConvNeXt-T forward, batched: convNextForwardTCh at w.toCh ε, the FullT forward whose VJP is convNextForwardTChHasVJP, applied per example. The per-example identity is CnxTieWeights.forward_eq_convNextForwardTCh; batchMap_comp splits the batched composite into the capstone's stage-by-stage chain.

                                                                                                                      def Proofs.CnxTieGB.CnxNetLossTiedGB (gf : GeluForm) (xN epsStr cotN dN : String) (N : ℕ) {nC : ℕ} (ε : ℝ) (w : CnxTie.CnxTieWeights nC) (bf16 : Bool) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (L : Vec (N * nC) → Vec 1) (g : Vec (N * nC)) :

                                                                                                                      Every ConvNeXt-T parameter gradient node is the derivative of L in that parameter, for a loss L of the logits and g the cotangent the chain starts from: the 182 nodes cnx_net_tiedGB ties, each at the cotangent the tie threads to it from g, stated against L of cnxNetB with that one parameter varied.

                                                                                                                      Equations
                                                                                                                      • One or more equations did not get rendered due to their size.
                                                                                                                      Instances For
                                                                                                                        theorem Proofs.CnxTieGB.cnx_net_lossGrad {gf : GeluForm} (xN epsStr cotN dN : String) (N : ℕ) {nC : ℕ} (ε : ℝ) (hε : 0 < ε) (w : CnxTie.CnxTieWeights nC) (bf16 : Bool) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) {L : Vec (N * nC) → Vec 1} {g : Vec (N * nC)} (hL : HasGradAt L (cnxNetB gf N ε w sd x) g) :
                                                                                                                        CnxNetLossTiedGB gf xN epsStr cotN dN N ε w bf16 sd x L g

                                                                                                                        Every ConvNeXt-T parameter gradient node is the derivative of the loss in that parameter. For any loss L of the logits with gradient g at the net's output, each of the 182 nodes cnx_net_tiedGB ties — at the same cotangent — is ∂L/∂θ of the WHOLE net, cnxNetB with that one parameter varied (a stem field, a block's or downsample's record w.bk := p with one slot changed, or a head field).

                                                                                                                        Hypothesis: 0 < ε, the LayerNorms' (the tie itself needs none). The loss enters only through hL; cnx_net_lossGrad_smoothedCE discharges it for the loss the artifacts ship.

                                                                                                                        theorem Proofs.CnxTieGB.cnx_net_lossGrad_smoothedCE {gf : GeluForm} (xN epsStr cotN dN aStr negAK bStr logN ohN : String) (N : ℕ) {nC : ℕ} (hK : 0 < nC) (ε α B : ℝ) (hε : 0 < ε) (w : CnxTie.CnxTieWeights nC) (bf16 : Bool) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (t : Vec (N * nC)) (ht : ∀ (n : Fin N), ∑ k : Fin nC, StableHLO.batchSlice N nC t n k = 1) :
                                                                                                                        CnxNetLossTiedGB gf xN epsStr cotN dN N ε w bf16 sd x (smoothedBatchLossDiv N nC α B t) (StableHLO.den (smoothedLossCotGraphDiv N nC α B aStr negAK bStr logN ohN (cnxNetB gf N ε w sd x) t))

                                                                                                                        The loss the artifacts ship: every node is the derivative of the batched label-smoothed cross-entropy smoothedBatchLossDiv, g the softmaxDiv cotangent the render emits — the tie's own g, whose logits are cnxNetB N ε w x (cnx_logitsB_eq).

                                                                                                                        theorem Proofs.CnxTieGB.cnx_net_tied_lossGrad {gf : GeluForm} (N : ℕ) {nC : ℕ} (xN epsStr cotN dN aStr negAK bStr logN ohN : String) (ε α B : ℝ) (w : CnxTie.CnxTieWeights nC) (bf16 : Bool) (sd : Option (Fin 18 → Vec N)) (x : Vec (N * (3 * 224 * 224))) (t : Vec (N * nC)) (hK : 0 < nC) (hε : 0 < ε) (ht : ∀ (n : Fin N), ∑ k : Fin nC, StableHLO.batchSlice N nC t n k = 1) :
                                                                                                                        have ib1 := StableHLO.batchMap N (CnxTie.cnxStemFwdO ε w.sW w.sb w.sγ w.sβ) x; have ib2 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b1 ε (exampleSite (cnxSd sd 0) n)) ib1; have ib3 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b2 ε (exampleSite (cnxSd sd 1) n)) ib2; have ibD0 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b3 ε (exampleSite (cnxSd sd 2) n)) ib3; have ib4 := StableHLO.batchMap N (w.d0.fwdO ε) ibD0; have ib5 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b4 ε (exampleSite (cnxSd sd 3) n)) ib4; have ib6 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b5 ε (exampleSite (cnxSd sd 4) n)) ib5; have ibD1 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b6 ε (exampleSite (cnxSd sd 5) n)) ib6; have ib7 := StableHLO.batchMap N (w.d1.fwdO ε) ibD1; have ib8 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b7 ε (exampleSite (cnxSd sd 6) n)) ib7; have ib9 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b8 ε (exampleSite (cnxSd sd 7) n)) ib8; have ib10 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b9 ε (exampleSite (cnxSd sd 8) n)) ib9; have ib11 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b10 ε (exampleSite (cnxSd sd 9) n)) ib10; have ib12 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b11 ε (exampleSite (cnxSd sd 10) n)) ib11; have ib13 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b12 ε (exampleSite (cnxSd sd 11) n)) ib12; have ib14 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b13 ε (exampleSite (cnxSd sd 12) n)) ib13; have ib15 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b14 ε (exampleSite (cnxSd sd 13) n)) ib14; have ibD2 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b15 ε (exampleSite (cnxSd sd 14) n)) ib15; have ib16 := StableHLO.batchMap N (w.d2.fwdO ε) ibD2; have ib17 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b16 ε (exampleSite (cnxSd sd 15) n)) ib16; have ib18 := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b17 ε (exampleSite (cnxSd sd 16) n)) ib17; have xhead := StableHLO.batchMapIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.fwdOD gf w.b18 ε (exampleSite (cnxSd sd 17) n)) ib18; have gapB := StableHLO.batchMap N (globalAvgPoolFlat 768 7 7) xhead; have hnB := StableHLO.batchMap N (rowLNVecFlat 1 768 ε w.hG w.hT) gapB; have logitsB := StableHLO.batchMap N (dense w.Wfc w.bfc) hnB; have g := StableHLO.den (smoothedLossCotGraphDiv N nC α B aStr negAK bStr logN ohN logitsB t); have dyO18 := StableHLO.batchMapAux N (cnxHeadDyXheadChN ε w.hG w.hT w.Wfc w.bfc) xhead g; have dyO17 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b18 ε (exampleSite (cnxSd sd 17) n)) ib18 dyO18; have dyO16 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b17 ε (exampleSite (cnxSd sd 16) n)) ib17 dyO17; have dyD2 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b16 ε (exampleSite (cnxSd sd 15) n)) ib16 dyO16; have dyO15 := StableHLO.batchMapAux N (w.d2.cotIn ε) ibD2 dyD2; have dyO14 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b15 ε (exampleSite (cnxSd sd 14) n)) ib15 dyO15; have dyO13 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b14 ε (exampleSite (cnxSd sd 13) n)) ib14 dyO14; have dyO12 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b13 ε (exampleSite (cnxSd sd 12) n)) ib13 dyO13; have dyO11 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b12 ε (exampleSite (cnxSd sd 11) n)) ib12 dyO12; have dyO10 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b11 ε (exampleSite (cnxSd sd 10) n)) ib11 dyO11; have dyO9 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b10 ε (exampleSite (cnxSd sd 9) n)) ib10 dyO10; have dyO8 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b9 ε (exampleSite (cnxSd sd 8) n)) ib9 dyO9; have dyO7 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b8 ε (exampleSite (cnxSd sd 7) n)) ib8 dyO8; have dyD1 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b7 ε (exampleSite (cnxSd sd 6) n)) ib7 dyO7; have dyO6 := StableHLO.batchMapAux N (w.d1.cotIn ε) ibD1 dyD1; have dyO5 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b6 ε (exampleSite (cnxSd sd 5) n)) ib6 dyO6; have dyO4 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b5 ε (exampleSite (cnxSd sd 4) n)) ib5 dyO5; have dyD0 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b4 ε (exampleSite (cnxSd sd 3) n)) ib4 dyO4; have dyO3 := StableHLO.batchMapAux N (w.d0.cotIn ε) ibD0 dyD0; have dyO2 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b3 ε (exampleSite (cnxSd sd 2) n)) ib3 dyO3; have dyO1 := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b2 ε (exampleSite (cnxSd sd 1) n)) ib2 dyO2; have dyStem := StableHLO.batchMapAuxIdx N (fun (n : Fin N) => CnxTie.CnxTieBlk.cotInD gf w.b1 ε (exampleSite (cnxSd sd 0) n)) ib1 dyO1; have L := smoothedBatchLossDiv N nC α B t; (⋯ ∧ ⋯) ∧ ⋯ ∧ ⋯

                                                                                                                        The emitted ConvNeXt-T step's gradient nodes ARE the loss's gradient, at one chain. For each of the 182 parameter slots, at ONE cotangent chain (the tie's own, from the emitted smoothed-loss cotangent g): the node denotes its layer's Jacobian against the chain cotangent (cnx_net_tiedGB), and the batched smoothed loss of cnxNetB with that one slot varied is differentiable there with the node as its gradient (cnx_net_lossGrad_smoothedCE). The tie spells each block input as its own let; the proof rewrites the loss side's cnxPre* into those lets (cnxPreS_apply, …) and the loss side's logits into the tie's (cnx_logitsB_eq).