-- Module: Mathlib.Analysis.Normed.Unbundled.FiniteExtension
Goal:
K : Type u_1
L : Type u_2
inst : NormedField K
inst_1 : Ring L
inst_2 : Algebra K L
ι : Type u_3
inst_3 : Fintype ι
inst_4 : Nonempty ι
B : Basis ι K L
i : ι
hBi : Eq.{u_2 + 1} (α := L) ((B : (a : ι) → L) i : L) (1 : L)
hna : IsNonarchimedean.{0, u_1} (α := K) Norm.norm
c : ι × ι
left : Membership.mem (γ := Finset (ι × ι)) univ c
hc :
  (sup' univ ⋯ fun (i : ι × ι) ↦
      B.norm (HMul.hMul (α := L) (β := L) ((B : (a : ι) → L) i.1 : L) ((B : (a : ι) → L) i.2 : L))) =
    B.norm (HMul.hMul (α := L) (β := L) ((B : (a : ι) → L) c.1 : L) ((B : (a : ι) → L) c.2 : L))
x y : L
ixy : ι
left_1 : Membership.mem (γ := Finset ι) univ ixy
hixy_def :
  (sup' univ ⋯ fun (i : ι) ↦
      Norm.norm.{u_1} (E := K) ((((B.repr : (a : L) → ι →₀ K) (x * y) : ι →₀ K) : (a : ι) → K) i : K)) =
    Norm.norm.{u_1} (E := K) ((((B.repr : (a : L) → ι →₀ K) (x * y) : ι →₀ K) : (a : ι) → K) ixy : K)
hna' : IsNonarchimedean (R := ℝ) (α := K) (⇑(NormedField.toMulRingNorm K) : (a : K) → ℝ)
k : ι
hk :
  Norm.norm.{u_1} (E := K)
      (∑ x_1 : ι,
        HMul.hMul (α := K) (β := K) ((((B.repr : (a : L) → ι →₀ K) x : ι →₀ K) : (a : ι) → K) x_1 : K)
          (∑ x : ι,
              HMul.hMul (α := K) (β := K) ((((B.repr : (a : L) → ι →₀ K) y : ι →₀ K) : (a : ι) → K) x : K)
                ((((B.repr : (a : L) → ι →₀ K)
                          (HMul.hMul (α := L) (β := L) ((B : (a : ι) → L) x_1 : L) ((B : (a : ι) → L) x : L)) :
                        ι →₀ K) :
                      (a : ι) → K)
                    ixy :
                  K) :
            K)) ≤
    Norm.norm.{u_1} (E := K) ((((B.repr : (a : L) → ι →₀ K) x : ι →₀ K) : (a : ι) → K) k : K) *
      Norm.norm.{u_1} (E := K)
        (∑ x : ι,
          HMul.hMul (α := K) (β := K) ((((B.repr : (a : L) → ι →₀ K) y : ι →₀ K) : (a : ι) → K) x : K)
            ((((B.repr : (a : L) → ι →₀ K)
                      (HMul.hMul (α := L) (β := L) ((B : (a : ι) → L) k : L) ((B : (a : ι) → L) x : L)) :
                    ι →₀ K) :
                  (a : ι) → K)
                ixy :
              K))
k' : ι
hk' :
  Norm.norm.{u_1} (E := K)
      (∑ j : ι,
        HSMul.hSMul (α := K) (β := K) ((((B.repr : (a : L) → ι →₀ K) y : ι →₀ K) : (a : ι) → K) j : K)
          ((((B.repr : (a : L) → ι →₀ K)
                    (HMul.hMul (α := L) (β := L) ((B : (a : ι) → L) k : L) ((B : (a : ι) → L) j : L)) :
                  ι →₀ K) :
                (a : ι) → K)
              ixy :
            K)) ≤
    ‖HSMul.hSMul (α := K) (β := K) ((((B.repr : (a : L) → ι →₀ K) y : ι →₀ K) : (a : ι) → K) k' : K)
        ((((B.repr : (a : L) → ι →₀ K)
                  (HMul.hMul (α := L) (β := L) ((B : (a : ι) → L) k : L) ((B : (a : ι) → L) k' : L)) :
                ι →₀ K) :
              (a : ι) → K)
            ixy :
          K)‖
⊢ Norm.norm.{u_1} (E := K) ((((B.repr : (a : L) → ι →₀ K) x : ι →₀ K) : (a : ι) → K) k : K) *
        Norm.norm.{u_1} (E := K) ((((B.repr : (a : L) → ι →₀ K) y : ι →₀ K) : (a : ι) → K) k' : K) *
      Norm.norm.{u_1} (E := K)
        ((((B.repr : (a : L) → ι →₀ K)
                  (HMul.hMul (α := L) (β := L) ((B : (a : ι) → L) k : L) ((B : (a : ι) → L) k' : L)) :
                ι →₀ K) :
              (a : ι) → K)
            ixy :
          K) ≤
    B.norm x * B.norm y * B.norm (HMul.hMul (α := L) (β := L) ((B : (a : ι) → L) c.1 : L) ((B : (a : ι) → L) c.2 : L))

Tactic:
mul_le_mul (mul_le_mul (B.norm_repr_le_norm _) (B.norm_repr_le_norm _)
      (norm_nonneg _) (B.norm_nonneg _)) (le_trans (B.norm_repr_le_norm _)
        (hc ▸ Finset.le_sup' (fun i : ι × ι ↦ B.norm (B i.1 * B i.2)) (mem_univ (k, k'))))
      (norm_nonneg _) (mul_nonneg (B.norm_nonneg _) (B.norm_nonneg _))

Premises used: Finset.mem_univ, mul_nonneg, HMul.hMul, Module.Basis.norm, Eq.rec, Prod.mk, Prod.fst, Module.Basis.norm_nonneg, mul_le_mul, Finset.le_sup', Prod.snd, DFunLike.coe, Module.Basis.norm_repr_le_norm, norm_nonneg, le_trans