[GOAL]
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁰ : NormedAddCommGroup E
inst✝¹⁹ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁶ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁵ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁴ : TopologicalSpace N
inst✝¹³ : ChartedSpace H N
E'' : Type u_7
inst✝¹² : NormedAddCommGroup E''
inst✝¹¹ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝¹⁰ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁹ : TopologicalSpace N'
inst✝⁸ : ChartedSpace H'' N'
G' : Type u_10
inst✝⁷ : Monoid G'
inst✝⁶ : TopologicalSpace G'
inst✝⁵ : ChartedSpace H' G'
inst✝⁴ : SmoothMul I' G'
G'' : Type u_11
inst✝³ : Monoid G''
inst✝² : TopologicalSpace G''
inst✝¹ : ChartedSpace H'' G''
inst✝ : SmoothMul I'' G''
φ : G' →* G''
hφ : Smooth I' I'' ↑φ
⊢ (fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) }) 1 = 1
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁰ : NormedAddCommGroup E
inst✝¹⁹ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁶ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁵ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁴ : TopologicalSpace N
inst✝¹³ : ChartedSpace H N
E'' : Type u_7
inst✝¹² : NormedAddCommGroup E''
inst✝¹¹ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝¹⁰ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁹ : TopologicalSpace N'
inst✝⁸ : ChartedSpace H'' N'
G' : Type u_10
inst✝⁷ : Monoid G'
inst✝⁶ : TopologicalSpace G'
inst✝⁵ : ChartedSpace H' G'
inst✝⁴ : SmoothMul I' G'
G'' : Type u_11
inst✝³ : Monoid G''
inst✝² : TopologicalSpace G''
inst✝¹ : ChartedSpace H'' G''
inst✝ : SmoothMul I'' G''
φ : G' →* G''
hφ : Smooth I' I'' ↑φ
x✝ : N
⊢ ↑((fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) }) 1) x✝ = ↑1 x✝
[PROOFSTEP]
show φ 1 = 1
[GOAL]
case h
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁰ : NormedAddCommGroup E
inst✝¹⁹ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁶ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁵ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁴ : TopologicalSpace N
inst✝¹³ : ChartedSpace H N
E'' : Type u_7
inst✝¹² : NormedAddCommGroup E''
inst✝¹¹ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝¹⁰ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁹ : TopologicalSpace N'
inst✝⁸ : ChartedSpace H'' N'
G' : Type u_10
inst✝⁷ : Monoid G'
inst✝⁶ : TopologicalSpace G'
inst✝⁵ : ChartedSpace H' G'
inst✝⁴ : SmoothMul I' G'
G'' : Type u_11
inst✝³ : Monoid G''
inst✝² : TopologicalSpace G''
inst✝¹ : ChartedSpace H'' G''
inst✝ : SmoothMul I'' G''
φ : G' →* G''
hφ : Smooth I' I'' ↑φ
x✝ : N
⊢ ↑φ 1 = 1
[PROOFSTEP]
simp
[GOAL]
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁰ : NormedAddCommGroup E
inst✝¹⁹ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁶ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁵ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁴ : TopologicalSpace N
inst✝¹³ : ChartedSpace H N
E'' : Type u_7
inst✝¹² : NormedAddCommGroup E''
inst✝¹¹ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝¹⁰ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁹ : TopologicalSpace N'
inst✝⁸ : ChartedSpace H'' N'
G' : Type u_10
inst✝⁷ : Monoid G'
inst✝⁶ : TopologicalSpace G'
inst✝⁵ : ChartedSpace H' G'
inst✝⁴ : SmoothMul I' G'
G'' : Type u_11
inst✝³ : Monoid G''
inst✝² : TopologicalSpace G''
inst✝¹ : ChartedSpace H'' G''
inst✝ : SmoothMul I'' G''
φ : G' →* G''
hφ : Smooth I' I'' ↑φ
f g : C^⊤⟮I, N; I', G'⟯
⊢ OneHom.toFun
      { toFun := fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) },
        map_one' :=
          (_ : (fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) }) 1 = 1) }
      (f * g) =
    OneHom.toFun
        { toFun := fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) },
          map_one' :=
            (_ : (fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) }) 1 = 1) }
        f *
      OneHom.toFun
        { toFun := fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) },
          map_one' :=
            (_ : (fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) }) 1 = 1) }
        g
[PROOFSTEP]
ext x
[GOAL]
case h
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁰ : NormedAddCommGroup E
inst✝¹⁹ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁶ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁵ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁴ : TopologicalSpace N
inst✝¹³ : ChartedSpace H N
E'' : Type u_7
inst✝¹² : NormedAddCommGroup E''
inst✝¹¹ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝¹⁰ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁹ : TopologicalSpace N'
inst✝⁸ : ChartedSpace H'' N'
G' : Type u_10
inst✝⁷ : Monoid G'
inst✝⁶ : TopologicalSpace G'
inst✝⁵ : ChartedSpace H' G'
inst✝⁴ : SmoothMul I' G'
G'' : Type u_11
inst✝³ : Monoid G''
inst✝² : TopologicalSpace G''
inst✝¹ : ChartedSpace H'' G''
inst✝ : SmoothMul I'' G''
φ : G' →* G''
hφ : Smooth I' I'' ↑φ
f g : C^⊤⟮I, N; I', G'⟯
x : N
⊢ ↑(OneHom.toFun
          { toFun := fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) },
            map_one' :=
              (_ : (fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) }) 1 = 1) }
          (f * g))
      x =
    ↑(OneHom.toFun
            { toFun := fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) },
              map_one' :=
                (_ :
                  (fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) }) 1 = 1) }
            f *
          OneHom.toFun
            { toFun := fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) },
              map_one' :=
                (_ :
                  (fun f => { val := ↑φ ∘ ↑f, property := (_ : ∀ (x : N), ContMDiffAt I I'' ⊤ (↑φ ∘ ↑f) x) }) 1 = 1) }
            g)
      x
[PROOFSTEP]
show φ (f x * g x) = φ (f x) * φ (g x)
[GOAL]
case h
𝕜 : Type u_1
inst✝²¹ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝²⁰ : NormedAddCommGroup E
inst✝¹⁹ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁸ : NormedAddCommGroup E'
inst✝¹⁷ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁶ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁵ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁴ : TopologicalSpace N
inst✝¹³ : ChartedSpace H N
E'' : Type u_7
inst✝¹² : NormedAddCommGroup E''
inst✝¹¹ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝¹⁰ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁹ : TopologicalSpace N'
inst✝⁸ : ChartedSpace H'' N'
G' : Type u_10
inst✝⁷ : Monoid G'
inst✝⁶ : TopologicalSpace G'
inst✝⁵ : ChartedSpace H' G'
inst✝⁴ : SmoothMul I' G'
G'' : Type u_11
inst✝³ : Monoid G''
inst✝² : TopologicalSpace G''
inst✝¹ : ChartedSpace H'' G''
inst✝ : SmoothMul I'' G''
φ : G' →* G''
hφ : Smooth I' I'' ↑φ
f g : C^⊤⟮I, N; I', G'⟯
x : N
⊢ ↑φ (↑f x * ↑g x) = ↑φ (↑f x) * ↑φ (↑g x)
[PROOFSTEP]
simp
[GOAL]
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
G : Type u_10
inst✝³ : Group G
inst✝² : TopologicalSpace G
inst✝¹ : ChartedSpace H' G
inst✝ : LieGroup I' G
src✝ : Monoid C^⊤⟮I, N; I', G⟯ := monoid
f g : C^⊤⟮I, N; I', G⟯
⊢ f / g = f * g⁻¹
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
G : Type u_10
inst✝³ : Group G
inst✝² : TopologicalSpace G
inst✝¹ : ChartedSpace H' G
inst✝ : LieGroup I' G
src✝ : Monoid C^⊤⟮I, N; I', G⟯ := monoid
f g : C^⊤⟮I, N; I', G⟯
x✝ : N
⊢ ↑(f / g) x✝ = ↑(f * g⁻¹) x✝
[PROOFSTEP]
exact div_eq_mul_inv _ _
[GOAL]
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
G : Type u_10
inst✝³ : Group G
inst✝² : TopologicalSpace G
inst✝¹ : ChartedSpace H' G
inst✝ : LieGroup I' G
src✝ : Monoid C^⊤⟮I, N; I', G⟯ := monoid
a : C^⊤⟮I, N; I', G⟯
⊢ a⁻¹ * a = 1
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
G : Type u_10
inst✝³ : Group G
inst✝² : TopologicalSpace G
inst✝¹ : ChartedSpace H' G
inst✝ : LieGroup I' G
src✝ : Monoid C^⊤⟮I, N; I', G⟯ := monoid
a : C^⊤⟮I, N; I', G⟯
x✝ : N
⊢ ↑(a⁻¹ * a) x✝ = ↑1 x✝
[PROOFSTEP]
exact mul_left_inv _
[GOAL]
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
R : Type u_10
inst✝³ : Semiring R
inst✝² : TopologicalSpace R
inst✝¹ : ChartedSpace H' R
inst✝ : SmoothRing I' R
src✝¹ : AddCommMonoid C^⊤⟮I, N; I', R⟯ := addCommMonoid
src✝ : Monoid C^⊤⟮I, N; I', R⟯ := monoid
a b c : C^⊤⟮I, N; I', R⟯
⊢ a * (b + c) = a * b + a * c
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
R : Type u_10
inst✝³ : Semiring R
inst✝² : TopologicalSpace R
inst✝¹ : ChartedSpace H' R
inst✝ : SmoothRing I' R
src✝¹ : AddCommMonoid C^⊤⟮I, N; I', R⟯ := addCommMonoid
src✝ : Monoid C^⊤⟮I, N; I', R⟯ := monoid
a b c : C^⊤⟮I, N; I', R⟯
x✝ : N
⊢ ↑(a * (b + c)) x✝ = ↑(a * b + a * c) x✝
[PROOFSTEP]
exact left_distrib _ _ _
[GOAL]
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
R : Type u_10
inst✝³ : Semiring R
inst✝² : TopologicalSpace R
inst✝¹ : ChartedSpace H' R
inst✝ : SmoothRing I' R
src✝¹ : AddCommMonoid C^⊤⟮I, N; I', R⟯ := addCommMonoid
src✝ : Monoid C^⊤⟮I, N; I', R⟯ := monoid
a b c : C^⊤⟮I, N; I', R⟯
⊢ (a + b) * c = a * c + b * c
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
R : Type u_10
inst✝³ : Semiring R
inst✝² : TopologicalSpace R
inst✝¹ : ChartedSpace H' R
inst✝ : SmoothRing I' R
src✝¹ : AddCommMonoid C^⊤⟮I, N; I', R⟯ := addCommMonoid
src✝ : Monoid C^⊤⟮I, N; I', R⟯ := monoid
a b c : C^⊤⟮I, N; I', R⟯
x✝ : N
⊢ ↑((a + b) * c) x✝ = ↑(a * c + b * c) x✝
[PROOFSTEP]
exact right_distrib _ _ _
[GOAL]
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
R : Type u_10
inst✝³ : Semiring R
inst✝² : TopologicalSpace R
inst✝¹ : ChartedSpace H' R
inst✝ : SmoothRing I' R
src✝¹ : AddCommMonoid C^⊤⟮I, N; I', R⟯ := addCommMonoid
src✝ : Monoid C^⊤⟮I, N; I', R⟯ := monoid
a : C^⊤⟮I, N; I', R⟯
⊢ 0 * a = 0
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
R : Type u_10
inst✝³ : Semiring R
inst✝² : TopologicalSpace R
inst✝¹ : ChartedSpace H' R
inst✝ : SmoothRing I' R
src✝¹ : AddCommMonoid C^⊤⟮I, N; I', R⟯ := addCommMonoid
src✝ : Monoid C^⊤⟮I, N; I', R⟯ := monoid
a : C^⊤⟮I, N; I', R⟯
x✝ : N
⊢ ↑(0 * a) x✝ = ↑0 x✝
[PROOFSTEP]
exact zero_mul _
[GOAL]
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
R : Type u_10
inst✝³ : Semiring R
inst✝² : TopologicalSpace R
inst✝¹ : ChartedSpace H' R
inst✝ : SmoothRing I' R
src✝¹ : AddCommMonoid C^⊤⟮I, N; I', R⟯ := addCommMonoid
src✝ : Monoid C^⊤⟮I, N; I', R⟯ := monoid
a : C^⊤⟮I, N; I', R⟯
⊢ a * 0 = 0
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁶ : NormedAddCommGroup E
inst✝¹⁵ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹⁴ : NormedAddCommGroup E'
inst✝¹³ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹² : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹¹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝¹⁰ : TopologicalSpace N
inst✝⁹ : ChartedSpace H N
E'' : Type u_7
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁶ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁵ : TopologicalSpace N'
inst✝⁴ : ChartedSpace H'' N'
R : Type u_10
inst✝³ : Semiring R
inst✝² : TopologicalSpace R
inst✝¹ : ChartedSpace H' R
inst✝ : SmoothRing I' R
src✝¹ : AddCommMonoid C^⊤⟮I, N; I', R⟯ := addCommMonoid
src✝ : Monoid C^⊤⟮I, N; I', R⟯ := monoid
a : C^⊤⟮I, N; I', R⟯
x✝ : N
⊢ ↑(a * 0) x✝ = ↑0 x✝
[PROOFSTEP]
exact mul_zero _
[GOAL]
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
⊢ (fun c => { val := fun x => ↑(algebraMap 𝕜 A) c, property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
      1 =
    1
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
x✝ : N
⊢ ↑((fun c => { val := fun x => ↑(algebraMap 𝕜 A) c, property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
          1)
      x✝ =
    ↑1 x✝
[PROOFSTEP]
exact (algebraMap 𝕜 A).map_one
[GOAL]
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
c₁ c₂ : 𝕜
⊢ OneHom.toFun
      {
        toFun := fun c =>
          { val := fun x => ↑(algebraMap 𝕜 A) c, property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
        map_one' :=
          (_ :
            (fun c =>
                  { val := fun x => ↑(algebraMap 𝕜 A) c,
                    property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                1 =
              1) }
      (c₁ * c₂) =
    OneHom.toFun
        {
          toFun := fun c =>
            { val := fun x => ↑(algebraMap 𝕜 A) c, property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
          map_one' :=
            (_ :
              (fun c =>
                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                  1 =
                1) }
        c₁ *
      OneHom.toFun
        {
          toFun := fun c =>
            { val := fun x => ↑(algebraMap 𝕜 A) c, property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
          map_one' :=
            (_ :
              (fun c =>
                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                  1 =
                1) }
        c₂
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
c₁ c₂ : 𝕜
x✝ : N
⊢ ↑(OneHom.toFun
          {
            toFun := fun c =>
              { val := fun x => ↑(algebraMap 𝕜 A) c, property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
            map_one' :=
              (_ :
                (fun c =>
                      { val := fun x => ↑(algebraMap 𝕜 A) c,
                        property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                    1 =
                  1) }
          (c₁ * c₂))
      x✝ =
    ↑(OneHom.toFun
            {
              toFun := fun c =>
                { val := fun x => ↑(algebraMap 𝕜 A) c,
                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
              map_one' :=
                (_ :
                  (fun c =>
                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                      1 =
                    1) }
            c₁ *
          OneHom.toFun
            {
              toFun := fun c =>
                { val := fun x => ↑(algebraMap 𝕜 A) c,
                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
              map_one' :=
                (_ :
                  (fun c =>
                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                      1 =
                    1) }
            c₂)
      x✝
[PROOFSTEP]
exact (algebraMap 𝕜 A).map_mul _ _
[GOAL]
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
⊢ OneHom.toFun
      (↑{
          toOneHom :=
            {
              toFun := fun c =>
                { val := fun x => ↑(algebraMap 𝕜 A) c,
                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
              map_one' :=
                (_ :
                  (fun c =>
                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                      1 =
                    1) },
          map_mul' :=
            (_ :
              ∀ (c₁ c₂ : 𝕜),
                OneHom.toFun
                    {
                      toFun := fun c =>
                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                      map_one' :=
                        (_ :
                          (fun c =>
                                { val := fun x => ↑(algebraMap 𝕜 A) c,
                                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                              1 =
                            1) }
                    (c₁ * c₂) =
                  OneHom.toFun
                      {
                        toFun := fun c =>
                          { val := fun x => ↑(algebraMap 𝕜 A) c,
                            property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                        map_one' :=
                          (_ :
                            (fun c =>
                                  { val := fun x => ↑(algebraMap 𝕜 A) c,
                                    property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                1 =
                              1) }
                      c₁ *
                    OneHom.toFun
                      {
                        toFun := fun c =>
                          { val := fun x => ↑(algebraMap 𝕜 A) c,
                            property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                        map_one' :=
                          (_ :
                            (fun c =>
                                  { val := fun x => ↑(algebraMap 𝕜 A) c,
                                    property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                1 =
                              1) }
                      c₂) })
      0 =
    0
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
x✝ : N
⊢ ↑(OneHom.toFun
          (↑{
              toOneHom :=
                {
                  toFun := fun c =>
                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                  map_one' :=
                    (_ :
                      (fun c =>
                            { val := fun x => ↑(algebraMap 𝕜 A) c,
                              property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                          1 =
                        1) },
              map_mul' :=
                (_ :
                  ∀ (c₁ c₂ : 𝕜),
                    OneHom.toFun
                        {
                          toFun := fun c =>
                            { val := fun x => ↑(algebraMap 𝕜 A) c,
                              property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                          map_one' :=
                            (_ :
                              (fun c =>
                                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                  1 =
                                1) }
                        (c₁ * c₂) =
                      OneHom.toFun
                          {
                            toFun := fun c =>
                              { val := fun x => ↑(algebraMap 𝕜 A) c,
                                property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                            map_one' :=
                              (_ :
                                (fun c =>
                                      { val := fun x => ↑(algebraMap 𝕜 A) c,
                                        property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                    1 =
                                  1) }
                          c₁ *
                        OneHom.toFun
                          {
                            toFun := fun c =>
                              { val := fun x => ↑(algebraMap 𝕜 A) c,
                                property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                            map_one' :=
                              (_ :
                                (fun c =>
                                      { val := fun x => ↑(algebraMap 𝕜 A) c,
                                        property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                    1 =
                                  1) }
                          c₂) })
          0)
      x✝ =
    ↑0 x✝
[PROOFSTEP]
exact (algebraMap 𝕜 A).map_zero
[GOAL]
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
c₁ c₂ : 𝕜
⊢ OneHom.toFun
      (↑{
          toOneHom :=
            {
              toFun := fun c =>
                { val := fun x => ↑(algebraMap 𝕜 A) c,
                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
              map_one' :=
                (_ :
                  (fun c =>
                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                      1 =
                    1) },
          map_mul' :=
            (_ :
              ∀ (c₁ c₂ : 𝕜),
                OneHom.toFun
                    {
                      toFun := fun c =>
                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                      map_one' :=
                        (_ :
                          (fun c =>
                                { val := fun x => ↑(algebraMap 𝕜 A) c,
                                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                              1 =
                            1) }
                    (c₁ * c₂) =
                  OneHom.toFun
                      {
                        toFun := fun c =>
                          { val := fun x => ↑(algebraMap 𝕜 A) c,
                            property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                        map_one' :=
                          (_ :
                            (fun c =>
                                  { val := fun x => ↑(algebraMap 𝕜 A) c,
                                    property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                1 =
                              1) }
                      c₁ *
                    OneHom.toFun
                      {
                        toFun := fun c =>
                          { val := fun x => ↑(algebraMap 𝕜 A) c,
                            property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                        map_one' :=
                          (_ :
                            (fun c =>
                                  { val := fun x => ↑(algebraMap 𝕜 A) c,
                                    property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                1 =
                              1) }
                      c₂) })
      (c₁ + c₂) =
    OneHom.toFun
        (↑{
            toOneHom :=
              {
                toFun := fun c =>
                  { val := fun x => ↑(algebraMap 𝕜 A) c,
                    property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                map_one' :=
                  (_ :
                    (fun c =>
                          { val := fun x => ↑(algebraMap 𝕜 A) c,
                            property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                        1 =
                      1) },
            map_mul' :=
              (_ :
                ∀ (c₁ c₂ : 𝕜),
                  OneHom.toFun
                      {
                        toFun := fun c =>
                          { val := fun x => ↑(algebraMap 𝕜 A) c,
                            property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                        map_one' :=
                          (_ :
                            (fun c =>
                                  { val := fun x => ↑(algebraMap 𝕜 A) c,
                                    property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                1 =
                              1) }
                      (c₁ * c₂) =
                    OneHom.toFun
                        {
                          toFun := fun c =>
                            { val := fun x => ↑(algebraMap 𝕜 A) c,
                              property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                          map_one' :=
                            (_ :
                              (fun c =>
                                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                  1 =
                                1) }
                        c₁ *
                      OneHom.toFun
                        {
                          toFun := fun c =>
                            { val := fun x => ↑(algebraMap 𝕜 A) c,
                              property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                          map_one' :=
                            (_ :
                              (fun c =>
                                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                  1 =
                                1) }
                        c₂) })
        c₁ +
      OneHom.toFun
        (↑{
            toOneHom :=
              {
                toFun := fun c =>
                  { val := fun x => ↑(algebraMap 𝕜 A) c,
                    property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                map_one' :=
                  (_ :
                    (fun c =>
                          { val := fun x => ↑(algebraMap 𝕜 A) c,
                            property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                        1 =
                      1) },
            map_mul' :=
              (_ :
                ∀ (c₁ c₂ : 𝕜),
                  OneHom.toFun
                      {
                        toFun := fun c =>
                          { val := fun x => ↑(algebraMap 𝕜 A) c,
                            property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                        map_one' :=
                          (_ :
                            (fun c =>
                                  { val := fun x => ↑(algebraMap 𝕜 A) c,
                                    property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                1 =
                              1) }
                      (c₁ * c₂) =
                    OneHom.toFun
                        {
                          toFun := fun c =>
                            { val := fun x => ↑(algebraMap 𝕜 A) c,
                              property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                          map_one' :=
                            (_ :
                              (fun c =>
                                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                  1 =
                                1) }
                        c₁ *
                      OneHom.toFun
                        {
                          toFun := fun c =>
                            { val := fun x => ↑(algebraMap 𝕜 A) c,
                              property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                          map_one' :=
                            (_ :
                              (fun c =>
                                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                  1 =
                                1) }
                        c₂) })
        c₂
[PROOFSTEP]
ext
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
c₁ c₂ : 𝕜
x✝ : N
⊢ ↑(OneHom.toFun
          (↑{
              toOneHom :=
                {
                  toFun := fun c =>
                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                  map_one' :=
                    (_ :
                      (fun c =>
                            { val := fun x => ↑(algebraMap 𝕜 A) c,
                              property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                          1 =
                        1) },
              map_mul' :=
                (_ :
                  ∀ (c₁ c₂ : 𝕜),
                    OneHom.toFun
                        {
                          toFun := fun c =>
                            { val := fun x => ↑(algebraMap 𝕜 A) c,
                              property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                          map_one' :=
                            (_ :
                              (fun c =>
                                    { val := fun x => ↑(algebraMap 𝕜 A) c,
                                      property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                  1 =
                                1) }
                        (c₁ * c₂) =
                      OneHom.toFun
                          {
                            toFun := fun c =>
                              { val := fun x => ↑(algebraMap 𝕜 A) c,
                                property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                            map_one' :=
                              (_ :
                                (fun c =>
                                      { val := fun x => ↑(algebraMap 𝕜 A) c,
                                        property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                    1 =
                                  1) }
                          c₁ *
                        OneHom.toFun
                          {
                            toFun := fun c =>
                              { val := fun x => ↑(algebraMap 𝕜 A) c,
                                property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                            map_one' :=
                              (_ :
                                (fun c =>
                                      { val := fun x => ↑(algebraMap 𝕜 A) c,
                                        property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                    1 =
                                  1) }
                          c₂) })
          (c₁ + c₂))
      x✝ =
    ↑(OneHom.toFun
            (↑{
                toOneHom :=
                  {
                    toFun := fun c =>
                      { val := fun x => ↑(algebraMap 𝕜 A) c,
                        property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                    map_one' :=
                      (_ :
                        (fun c =>
                              { val := fun x => ↑(algebraMap 𝕜 A) c,
                                property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                            1 =
                          1) },
                map_mul' :=
                  (_ :
                    ∀ (c₁ c₂ : 𝕜),
                      OneHom.toFun
                          {
                            toFun := fun c =>
                              { val := fun x => ↑(algebraMap 𝕜 A) c,
                                property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                            map_one' :=
                              (_ :
                                (fun c =>
                                      { val := fun x => ↑(algebraMap 𝕜 A) c,
                                        property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                    1 =
                                  1) }
                          (c₁ * c₂) =
                        OneHom.toFun
                            {
                              toFun := fun c =>
                                { val := fun x => ↑(algebraMap 𝕜 A) c,
                                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                              map_one' :=
                                (_ :
                                  (fun c =>
                                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                      1 =
                                    1) }
                            c₁ *
                          OneHom.toFun
                            {
                              toFun := fun c =>
                                { val := fun x => ↑(algebraMap 𝕜 A) c,
                                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                              map_one' :=
                                (_ :
                                  (fun c =>
                                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                      1 =
                                    1) }
                            c₂) })
            c₁ +
          OneHom.toFun
            (↑{
                toOneHom :=
                  {
                    toFun := fun c =>
                      { val := fun x => ↑(algebraMap 𝕜 A) c,
                        property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                    map_one' :=
                      (_ :
                        (fun c =>
                              { val := fun x => ↑(algebraMap 𝕜 A) c,
                                property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                            1 =
                          1) },
                map_mul' :=
                  (_ :
                    ∀ (c₁ c₂ : 𝕜),
                      OneHom.toFun
                          {
                            toFun := fun c =>
                              { val := fun x => ↑(algebraMap 𝕜 A) c,
                                property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                            map_one' :=
                              (_ :
                                (fun c =>
                                      { val := fun x => ↑(algebraMap 𝕜 A) c,
                                        property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                    1 =
                                  1) }
                          (c₁ * c₂) =
                        OneHom.toFun
                            {
                              toFun := fun c =>
                                { val := fun x => ↑(algebraMap 𝕜 A) c,
                                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                              map_one' :=
                                (_ :
                                  (fun c =>
                                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                      1 =
                                    1) }
                            c₁ *
                          OneHom.toFun
                            {
                              toFun := fun c =>
                                { val := fun x => ↑(algebraMap 𝕜 A) c,
                                  property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) },
                              map_one' :=
                                (_ :
                                  (fun c =>
                                        { val := fun x => ↑(algebraMap 𝕜 A) c,
                                          property := (_ : Smooth I 𝓘(𝕜, A) fun x => ↑(algebraMap 𝕜 A) c) })
                                      1 =
                                    1) }
                            c₂) })
            c₂)
      x✝
[PROOFSTEP]
exact (algebraMap 𝕜 A).map_add _ _
[GOAL]
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
c : 𝕜
f : (fun x => C^⊤⟮I, N; 𝓘(𝕜, A), A⟯) c
⊢ ↑C c * f = f * ↑C c
[PROOFSTEP]
ext x
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
c : 𝕜
f : (fun x => C^⊤⟮I, N; 𝓘(𝕜, A), A⟯) c
x : N
⊢ ↑(↑C c * f) x = ↑(f * ↑C c) x
[PROOFSTEP]
exact Algebra.commutes' _ _
[GOAL]
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
c : 𝕜
f : (fun x => C^⊤⟮I, N; 𝓘(𝕜, A), A⟯) c
⊢ c • f = ↑C c * f
[PROOFSTEP]
ext x
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁵ : NormedAddCommGroup E
inst✝¹⁴ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹¹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝¹⁰ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁹ : TopologicalSpace N
inst✝⁸ : ChartedSpace H N
E'' : Type u_7
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝⁴ : TopologicalSpace N'
inst✝³ : ChartedSpace H'' N'
A : Type u_10
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : SmoothRing 𝓘(𝕜, A) A
c : 𝕜
f : (fun x => C^⊤⟮I, N; 𝓘(𝕜, A), A⟯) c
x : N
⊢ ↑(c • f) x = ↑(↑C c * f) x
[PROOFSTEP]
exact Algebra.smul_def' _ _
[GOAL]
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
f : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
⊢ 1 • f = f
[PROOFSTEP]
ext x
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
f : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
x : N
⊢ ↑(1 • f) x = ↑f x
[PROOFSTEP]
exact one_smul 𝕜 (f x)
[GOAL]
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
c₁ c₂ : C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
⊢ (c₁ * c₂) • f = c₁ • c₂ • f
[PROOFSTEP]
ext x
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
c₁ c₂ : C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
x : N
⊢ ↑((c₁ * c₂) • f) x = ↑(c₁ • c₂ • f) x
[PROOFSTEP]
exact mul_smul (c₁ x) (c₂ x) (f x)
[GOAL]
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
r : C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯
⊢ r • 0 = 0
[PROOFSTEP]
ext x
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
r : C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯
x : N
⊢ ↑(r • 0) x = ↑0 x
[PROOFSTEP]
exact smul_zero _
[GOAL]
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
c : C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯
f g : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
⊢ c • (f + g) = c • f + c • g
[PROOFSTEP]
ext x
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
c : C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯
f g : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
x : N
⊢ ↑(c • (f + g)) x = ↑(c • f + c • g) x
[PROOFSTEP]
exact smul_add (c x) (f x) (g x)
[GOAL]
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
c₁ c₂ : C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
⊢ (c₁ + c₂) • f = c₁ • f + c₂ • f
[PROOFSTEP]
ext x
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
c₁ c₂ : C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
x : N
⊢ ↑((c₁ + c₂) • f) x = ↑(c₁ • f + c₂ • f) x
[PROOFSTEP]
exact add_smul (c₁ x) (c₂ x) (f x)
[GOAL]
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
f : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
⊢ 0 • f = 0
[PROOFSTEP]
ext x
[GOAL]
case h
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹² : NormedAddCommGroup E'
inst✝¹¹ : NormedSpace 𝕜 E'
H : Type u_4
inst✝¹⁰ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
N : Type u_6
inst✝⁸ : TopologicalSpace N
inst✝⁷ : ChartedSpace H N
E'' : Type u_7
inst✝⁶ : NormedAddCommGroup E''
inst✝⁵ : NormedSpace 𝕜 E''
H'' : Type u_8
inst✝⁴ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
N' : Type u_9
inst✝³ : TopologicalSpace N'
inst✝² : ChartedSpace H'' N'
V : Type u_10
inst✝¹ : NormedAddCommGroup V
inst✝ : NormedSpace 𝕜 V
f : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯
x : N
⊢ ↑(0 • f) x = ↑0 x
[PROOFSTEP]
exact zero_smul _ _


[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I : OplaxFunctor B C
η : F ⟶ G
θ ι : G ⟶ H
Γ : θ ⟶ ι
a b : B
f : a ⟶ b
⊢ (↑F.toPrelaxFunctor).map f ◁ (fun a => η.app a ◁ Γ.app a) b ≫ naturality (η ≫ ι) f =
    naturality (η ≫ θ) f ≫ (fun a => η.app a ◁ Γ.app a) a ▷ (↑H.toPrelaxFunctor).map f
[PROOFSTEP]
dsimp
[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I : OplaxFunctor B C
η : F ⟶ G
θ ι : G ⟶ H
Γ : θ ⟶ ι
a b : B
f : a ⟶ b
⊢ (↑F.toPrelaxFunctor).map f ◁ η.app b ◁ Γ.app b ≫
      (α_ ((↑F.toPrelaxFunctor).map f) (η.app b) (ι.app b)).inv ≫
        naturality η f ▷ ι.app b ≫
          (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) (ι.app b)).hom ≫
            η.app a ◁ naturality ι f ≫ (α_ (η.app a) (ι.app a) ((↑H.toPrelaxFunctor).map f)).inv =
    ((α_ ((↑F.toPrelaxFunctor).map f) (η.app b) (θ.app b)).inv ≫
        naturality η f ▷ θ.app b ≫
          (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) (θ.app b)).hom ≫
            η.app a ◁ naturality θ f ≫ (α_ (η.app a) (θ.app a) ((↑H.toPrelaxFunctor).map f)).inv) ≫
      (η.app a ◁ Γ.app a) ▷ (↑H.toPrelaxFunctor).map f
[PROOFSTEP]
rw [associator_inv_naturality_right_assoc, whisker_exchange_assoc]
[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I : OplaxFunctor B C
η : F ⟶ G
θ ι : G ⟶ H
Γ : θ ⟶ ι
a b : B
f : a ⟶ b
⊢ (α_ ((↑F.toPrelaxFunctor).map f) (η.app b) (θ.app b)).inv ≫
      naturality η f ▷ θ.app b ≫
        (η.app a ≫ (↑G.toPrelaxFunctor).map f) ◁ Γ.app b ≫
          (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) (ι.app b)).hom ≫
            η.app a ◁ naturality ι f ≫ (α_ (η.app a) (ι.app a) ((↑H.toPrelaxFunctor).map f)).inv =
    ((α_ ((↑F.toPrelaxFunctor).map f) (η.app b) (θ.app b)).inv ≫
        naturality η f ▷ θ.app b ≫
          (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) (θ.app b)).hom ≫
            η.app a ◁ naturality θ f ≫ (α_ (η.app a) (θ.app a) ((↑H.toPrelaxFunctor).map f)).inv) ≫
      (η.app a ◁ Γ.app a) ▷ (↑H.toPrelaxFunctor).map f
[PROOFSTEP]
simp
[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I : OplaxFunctor B C
η θ : F ⟶ G
Γ : η ⟶ θ
ι : G ⟶ H
a b : B
f : a ⟶ b
⊢ (↑F.toPrelaxFunctor).map f ◁ (fun a => Γ.app a ▷ ι.app a) b ≫ naturality (θ ≫ ι) f =
    naturality (η ≫ ι) f ≫ (fun a => Γ.app a ▷ ι.app a) a ▷ (↑H.toPrelaxFunctor).map f
[PROOFSTEP]
dsimp
[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I : OplaxFunctor B C
η θ : F ⟶ G
Γ : η ⟶ θ
ι : G ⟶ H
a b : B
f : a ⟶ b
⊢ (↑F.toPrelaxFunctor).map f ◁ Γ.app b ▷ ι.app b ≫
      (α_ ((↑F.toPrelaxFunctor).map f) (θ.app b) (ι.app b)).inv ≫
        naturality θ f ▷ ι.app b ≫
          (α_ (θ.app a) ((↑G.toPrelaxFunctor).map f) (ι.app b)).hom ≫
            θ.app a ◁ naturality ι f ≫ (α_ (θ.app a) (ι.app a) ((↑H.toPrelaxFunctor).map f)).inv =
    ((α_ ((↑F.toPrelaxFunctor).map f) (η.app b) (ι.app b)).inv ≫
        naturality η f ▷ ι.app b ≫
          (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) (ι.app b)).hom ≫
            η.app a ◁ naturality ι f ≫ (α_ (η.app a) (ι.app a) ((↑H.toPrelaxFunctor).map f)).inv) ≫
      Γ.app a ▷ ι.app a ▷ (↑H.toPrelaxFunctor).map f
[PROOFSTEP]
simp_rw [assoc, ← associator_inv_naturality_left, whisker_exchange_assoc]
[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I : OplaxFunctor B C
η θ : F ⟶ G
Γ : η ⟶ θ
ι : G ⟶ H
a b : B
f : a ⟶ b
⊢ (↑F.toPrelaxFunctor).map f ◁ Γ.app b ▷ ι.app b ≫
      (α_ ((↑F.toPrelaxFunctor).map f) (θ.app b) (ι.app b)).inv ≫
        naturality θ f ▷ ι.app b ≫
          (α_ (θ.app a) ((↑G.toPrelaxFunctor).map f) (ι.app b)).hom ≫
            θ.app a ◁ naturality ι f ≫ (α_ (θ.app a) (ι.app a) ((↑H.toPrelaxFunctor).map f)).inv =
    (α_ ((↑F.toPrelaxFunctor).map f) (η.app b) (ι.app b)).inv ≫
      naturality η f ▷ ι.app b ≫
        (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) (ι.app b)).hom ≫
          Γ.app a ▷ ((↑G.toPrelaxFunctor).map f ≫ ι.app b) ≫
            θ.app a ◁ naturality ι f ≫ (α_ (θ.app a) (ι.app a) ((↑H.toPrelaxFunctor).map f)).inv
[PROOFSTEP]
simp
[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I : OplaxFunctor B C
η : F ⟶ G
θ : G ⟶ H
ι : H ⟶ I
⊢ ∀ {a b : B} (f : a ⟶ b),
    (↑F.toPrelaxFunctor).map f ◁ ((fun a => α_ (η.app a) (θ.app a) (ι.app a)) b).hom ≫ naturality (η ≫ θ ≫ ι) f =
      naturality ((η ≫ θ) ≫ ι) f ≫ ((fun a => α_ (η.app a) (θ.app a) (ι.app a)) a).hom ▷ (↑I.toPrelaxFunctor).map f
[PROOFSTEP]
aesop_cat
[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I : OplaxFunctor B C
η : F ⟶ G
⊢ ∀ {a b : B} (f : a ⟶ b),
    (↑F.toPrelaxFunctor).map f ◁ ((fun a => λ_ (η.app a)) b).hom ≫ naturality η f =
      naturality (𝟙 F ≫ η) f ≫ ((fun a => λ_ (η.app a)) a).hom ▷ (↑G.toPrelaxFunctor).map f
[PROOFSTEP]
aesop_cat
[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I : OplaxFunctor B C
η : F ⟶ G
⊢ ∀ {a b : B} (f : a ⟶ b),
    (↑F.toPrelaxFunctor).map f ◁ ((fun a => ρ_ (η.app a)) b).hom ≫ naturality η f =
      naturality (η ≫ 𝟙 G) f ≫ ((fun a => ρ_ (η.app a)) a).hom ▷ (↑G.toPrelaxFunctor).map f
[PROOFSTEP]
aesop_cat
[GOAL]
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I a b c : OplaxFunctor B C
f g : a ⟶ b
h i : b ⟶ c
η : f ⟶ g
θ : h ⟶ i
⊢ (fun {F G H} η x x_1 Γ => OplaxNatTrans.whiskerLeft η Γ) f h i θ ≫
      (fun {F G H} x x_1 Γ η => OplaxNatTrans.whiskerRight Γ η) f g η i =
    (fun {F G H} x x_1 Γ η => OplaxNatTrans.whiskerRight Γ η) f g η h ≫
      (fun {F G H} η x x_1 Γ => OplaxNatTrans.whiskerLeft η Γ) g h i θ
[PROOFSTEP]
ext
[GOAL]
case w
B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H I a b c : OplaxFunctor B C
f g : a ⟶ b
h i : b ⟶ c
η : f ⟶ g
θ : h ⟶ i
b✝ : B
⊢ ((fun {F G H} η x x_1 Γ => OplaxNatTrans.whiskerLeft η Γ) f h i θ ≫
          (fun {F G H} x x_1 Γ η => OplaxNatTrans.whiskerRight Γ η) f g η i).app
      b✝ =
    ((fun {F G H} x x_1 Γ η => OplaxNatTrans.whiskerRight Γ η) f g η h ≫
          (fun {F G H} η x x_1 Γ => OplaxNatTrans.whiskerLeft η Γ) g h i θ).app
      b✝
[PROOFSTEP]
exact whisker_exchange _ _


[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝¹⁸ : Semiring R
inst✝¹⁷ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁵ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁴ : AddCommMonoid M₂
inst✝¹³ : AddCommMonoid M₃
inst✝¹² : AddCommMonoid M₄
inst✝¹¹ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹⁰ : (i : ι) → Module R (M₁ i)
inst✝⁹ : (i : ι) → Module R (M₁' i)
inst✝⁸ : Module R M₂
inst✝⁷ : Module R M₃
inst✝⁶ : Module R M₄
inst✝⁵ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁴ : (i : ι) → TopologicalSpace (M₁ i)
inst✝³ : (i : ι) → TopologicalSpace (M₁' i)
inst✝² : TopologicalSpace M₂
inst✝¹ : TopologicalSpace M₃
inst✝ : TopologicalSpace M₄
f✝ f' : ContinuousMultilinearMap R M₁ M₂
f : MultilinearMap R M₁ M₂
hf : Continuous f.toFun
g : MultilinearMap R M₁ M₂
hg : Continuous g.toFun
h : { toMultilinearMap := f, cont := hf }.toMultilinearMap = { toMultilinearMap := g, cont := hg }.toMultilinearMap
⊢ { toMultilinearMap := f, cont := hf } = { toMultilinearMap := g, cont := hg }
[PROOFSTEP]
subst h
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝¹⁸ : Semiring R
inst✝¹⁷ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁵ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁴ : AddCommMonoid M₂
inst✝¹³ : AddCommMonoid M₃
inst✝¹² : AddCommMonoid M₄
inst✝¹¹ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹⁰ : (i : ι) → Module R (M₁ i)
inst✝⁹ : (i : ι) → Module R (M₁' i)
inst✝⁸ : Module R M₂
inst✝⁷ : Module R M₃
inst✝⁶ : Module R M₄
inst✝⁵ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁴ : (i : ι) → TopologicalSpace (M₁ i)
inst✝³ : (i : ι) → TopologicalSpace (M₁' i)
inst✝² : TopologicalSpace M₂
inst✝¹ : TopologicalSpace M₃
inst✝ : TopologicalSpace M₄
f✝ f' : ContinuousMultilinearMap R M₁ M₂
f : MultilinearMap R M₁ M₂
hf : Continuous f.toFun
hg : Continuous { toMultilinearMap := f, cont := hf }.toMultilinearMap.toFun
⊢ { toMultilinearMap := f, cont := hf } =
    { toMultilinearMap := { toMultilinearMap := f, cont := hf }.toMultilinearMap, cont := hg }
[PROOFSTEP]
rfl
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝¹⁸ : Semiring R
inst✝¹⁷ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁵ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁴ : AddCommMonoid M₂
inst✝¹³ : AddCommMonoid M₃
inst✝¹² : AddCommMonoid M₄
inst✝¹¹ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹⁰ : (i : ι) → Module R (M₁ i)
inst✝⁹ : (i : ι) → Module R (M₁' i)
inst✝⁸ : Module R M₂
inst✝⁷ : Module R M₃
inst✝⁶ : Module R M₄
inst✝⁵ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁴ : (i : ι) → TopologicalSpace (M₁ i)
inst✝³ : (i : ι) → TopologicalSpace (M₁' i)
inst✝² : TopologicalSpace M₂
inst✝¹ : TopologicalSpace M₃
inst✝ : TopologicalSpace M₄
f✝ f'✝ f f' : ContinuousMultilinearMap R M₁ M₂
⊢ f = f' ↔ ∀ (x : (i : ι) → M₁ i), ↑f x = ↑f' x
[PROOFSTEP]
rw [← toMultilinearMap_injective.eq_iff, MultilinearMap.ext_iff]
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝¹⁸ : Semiring R
inst✝¹⁷ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁵ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁴ : AddCommMonoid M₂
inst✝¹³ : AddCommMonoid M₃
inst✝¹² : AddCommMonoid M₄
inst✝¹¹ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹⁰ : (i : ι) → Module R (M₁ i)
inst✝⁹ : (i : ι) → Module R (M₁' i)
inst✝⁸ : Module R M₂
inst✝⁷ : Module R M₃
inst✝⁶ : Module R M₄
inst✝⁵ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁴ : (i : ι) → TopologicalSpace (M₁ i)
inst✝³ : (i : ι) → TopologicalSpace (M₁' i)
inst✝² : TopologicalSpace M₂
inst✝¹ : TopologicalSpace M₃
inst✝ : TopologicalSpace M₄
f✝ f'✝ f f' : ContinuousMultilinearMap R M₁ M₂
⊢ (∀ (x : (i : ι) → M₁ i), ↑f.toMultilinearMap x = ↑f'.toMultilinearMap x) ↔ ∀ (x : (i : ι) → M₁ i), ↑f x = ↑f' x
[PROOFSTEP]
rfl
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝¹⁸ : Semiring R
inst✝¹⁷ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁵ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁴ : AddCommMonoid M₂
inst✝¹³ : AddCommMonoid M₃
inst✝¹² : AddCommMonoid M₄
inst✝¹¹ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹⁰ : (i : ι) → Module R (M₁ i)
inst✝⁹ : (i : ι) → Module R (M₁' i)
inst✝⁸ : Module R M₂
inst✝⁷ : Module R M₃
inst✝⁶ : Module R M₄
inst✝⁵ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁴ : (i : ι) → TopologicalSpace (M₁ i)
inst✝³ : (i : ι) → TopologicalSpace (M₁' i)
inst✝² : TopologicalSpace M₂
inst✝¹ : TopologicalSpace M₃
inst✝ : TopologicalSpace M₄
f✝ f' : ContinuousMultilinearMap R M₁ M₂
g : M₂ →L[R] M₃
f : ContinuousMultilinearMap R M₁ M₂
⊢ ↑(ContinuousLinearMap.compContinuousMultilinearMap g f) = ↑g ∘ ↑f
[PROOFSTEP]
ext m
[GOAL]
case h
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝¹⁸ : Semiring R
inst✝¹⁷ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁵ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁴ : AddCommMonoid M₂
inst✝¹³ : AddCommMonoid M₃
inst✝¹² : AddCommMonoid M₄
inst✝¹¹ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹⁰ : (i : ι) → Module R (M₁ i)
inst✝⁹ : (i : ι) → Module R (M₁' i)
inst✝⁸ : Module R M₂
inst✝⁷ : Module R M₃
inst✝⁶ : Module R M₄
inst✝⁵ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁴ : (i : ι) → TopologicalSpace (M₁ i)
inst✝³ : (i : ι) → TopologicalSpace (M₁' i)
inst✝² : TopologicalSpace M₂
inst✝¹ : TopologicalSpace M₃
inst✝ : TopologicalSpace M₄
f✝ f' : ContinuousMultilinearMap R M₁ M₂
g : M₂ →L[R] M₃
f : ContinuousMultilinearMap R M₁ M₂
m : (i : ι) → M₁ i
⊢ ↑(ContinuousLinearMap.compContinuousMultilinearMap g f) m = (↑g ∘ ↑f) m
[PROOFSTEP]
rfl
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝²¹ : Semiring R
inst✝²⁰ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁹ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁸ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁷ : AddCommMonoid M₂
inst✝¹⁶ : AddCommMonoid M₃
inst✝¹⁵ : AddCommMonoid M₄
inst✝¹⁴ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹³ : (i : ι) → Module R (M₁ i)
inst✝¹² : (i : ι) → Module R (M₁' i)
inst✝¹¹ : Module R M₂
inst✝¹⁰ : Module R M₃
inst✝⁹ : Module R M₄
inst✝⁸ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁷ : (i : ι) → TopologicalSpace (M₁ i)
inst✝⁶ : (i : ι) → TopologicalSpace (M₁' i)
inst✝⁵ : TopologicalSpace M₂
inst✝⁴ : TopologicalSpace M₃
inst✝³ : TopologicalSpace M₄
f✝ f' : ContinuousMultilinearMap R M₁ M₂
ι' : Type u_1
M' : ι' → Type u_2
inst✝² : (i : ι') → AddCommMonoid (M' i)
inst✝¹ : (i : ι') → TopologicalSpace (M' i)
inst✝ : (i : ι') → Module R (M' i)
f : (i : ι') → ContinuousMultilinearMap R M₁ (M' i)
⊢ (fun f i => ContinuousLinearMap.compContinuousMultilinearMap (ContinuousLinearMap.proj i) f) (pi f) = f
[PROOFSTEP]
ext
[GOAL]
case h.H
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝²¹ : Semiring R
inst✝²⁰ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁹ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁸ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁷ : AddCommMonoid M₂
inst✝¹⁶ : AddCommMonoid M₃
inst✝¹⁵ : AddCommMonoid M₄
inst✝¹⁴ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹³ : (i : ι) → Module R (M₁ i)
inst✝¹² : (i : ι) → Module R (M₁' i)
inst✝¹¹ : Module R M₂
inst✝¹⁰ : Module R M₃
inst✝⁹ : Module R M₄
inst✝⁸ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁷ : (i : ι) → TopologicalSpace (M₁ i)
inst✝⁶ : (i : ι) → TopologicalSpace (M₁' i)
inst✝⁵ : TopologicalSpace M₂
inst✝⁴ : TopologicalSpace M₃
inst✝³ : TopologicalSpace M₄
f✝ f' : ContinuousMultilinearMap R M₁ M₂
ι' : Type u_1
M' : ι' → Type u_2
inst✝² : (i : ι') → AddCommMonoid (M' i)
inst✝¹ : (i : ι') → TopologicalSpace (M' i)
inst✝ : (i : ι') → Module R (M' i)
f : (i : ι') → ContinuousMultilinearMap R M₁ (M' i)
x✝¹ : ι'
x✝ : (i : ι) → M₁ i
⊢ ↑((fun f i => ContinuousLinearMap.compContinuousMultilinearMap (ContinuousLinearMap.proj i) f) (pi f) x✝¹) x✝ =
    ↑(f x✝¹) x✝
[PROOFSTEP]
rfl
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝²¹ : Semiring R
inst✝²⁰ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁹ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁸ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁷ : AddCommMonoid M₂
inst✝¹⁶ : AddCommMonoid M₃
inst✝¹⁵ : AddCommMonoid M₄
inst✝¹⁴ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹³ : (i : ι) → Module R (M₁ i)
inst✝¹² : (i : ι) → Module R (M₁' i)
inst✝¹¹ : Module R M₂
inst✝¹⁰ : Module R M₃
inst✝⁹ : Module R M₄
inst✝⁸ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁷ : (i : ι) → TopologicalSpace (M₁ i)
inst✝⁶ : (i : ι) → TopologicalSpace (M₁' i)
inst✝⁵ : TopologicalSpace M₂
inst✝⁴ : TopologicalSpace M₃
inst✝³ : TopologicalSpace M₄
f✝ f' : ContinuousMultilinearMap R M₁ M₂
ι' : Type u_1
M' : ι' → Type u_2
inst✝² : (i : ι') → AddCommMonoid (M' i)
inst✝¹ : (i : ι') → TopologicalSpace (M' i)
inst✝ : (i : ι') → Module R (M' i)
f : ContinuousMultilinearMap R M₁ ((i : ι') → M' i)
⊢ pi ((fun f i => ContinuousLinearMap.compContinuousMultilinearMap (ContinuousLinearMap.proj i) f) f) = f
[PROOFSTEP]
ext
[GOAL]
case H.h
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝²¹ : Semiring R
inst✝²⁰ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁹ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁸ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁷ : AddCommMonoid M₂
inst✝¹⁶ : AddCommMonoid M₃
inst✝¹⁵ : AddCommMonoid M₄
inst✝¹⁴ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹³ : (i : ι) → Module R (M₁ i)
inst✝¹² : (i : ι) → Module R (M₁' i)
inst✝¹¹ : Module R M₂
inst✝¹⁰ : Module R M₃
inst✝⁹ : Module R M₄
inst✝⁸ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁷ : (i : ι) → TopologicalSpace (M₁ i)
inst✝⁶ : (i : ι) → TopologicalSpace (M₁' i)
inst✝⁵ : TopologicalSpace M₂
inst✝⁴ : TopologicalSpace M₃
inst✝³ : TopologicalSpace M₄
f✝ f' : ContinuousMultilinearMap R M₁ M₂
ι' : Type u_1
M' : ι' → Type u_2
inst✝² : (i : ι') → AddCommMonoid (M' i)
inst✝¹ : (i : ι') → TopologicalSpace (M' i)
inst✝ : (i : ι') → Module R (M' i)
f : ContinuousMultilinearMap R M₁ ((i : ι') → M' i)
x✝¹ : (i : ι) → M₁ i
x✝ : ι'
⊢ ↑(pi ((fun f i => ContinuousLinearMap.compContinuousMultilinearMap (ContinuousLinearMap.proj i) f) f)) x✝¹ x✝ =
    ↑f x✝¹ x✝
[PROOFSTEP]
rfl
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝¹⁸ : Semiring R
inst✝¹⁷ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁵ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁴ : AddCommMonoid M₂
inst✝¹³ : AddCommMonoid M₃
inst✝¹² : AddCommMonoid M₄
inst✝¹¹ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹⁰ : (i : ι) → Module R (M₁ i)
inst✝⁹ : (i : ι) → Module R (M₁' i)
inst✝⁸ : Module R M₂
inst✝⁷ : Module R M₃
inst✝⁶ : Module R M₄
inst✝⁵ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁴ : (i : ι) → TopologicalSpace (M₁ i)
inst✝³ : (i : ι) → TopologicalSpace (M₁' i)
inst✝² : TopologicalSpace M₂
inst✝¹ : TopologicalSpace M₃
inst✝ : TopologicalSpace M₄
f f' : ContinuousMultilinearMap R M₁ M₂
ι' : Type u_1
e : ι ≃ ι'
x✝¹ : ContinuousMultilinearMap R (fun x => M₂) M₃
x✝ : ι → M₂
⊢ ↑(domDomCongr e.symm (domDomCongr e x✝¹)) x✝ = ↑x✝¹ x✝
[PROOFSTEP]
simp
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
inst✝¹⁸ : Semiring R
inst✝¹⁷ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝¹⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝¹⁵ : (i : ι) → AddCommMonoid (M₁' i)
inst✝¹⁴ : AddCommMonoid M₂
inst✝¹³ : AddCommMonoid M₃
inst✝¹² : AddCommMonoid M₄
inst✝¹¹ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝¹⁰ : (i : ι) → Module R (M₁ i)
inst✝⁹ : (i : ι) → Module R (M₁' i)
inst✝⁸ : Module R M₂
inst✝⁷ : Module R M₃
inst✝⁶ : Module R M₄
inst✝⁵ : (i : Fin (Nat.succ n)) → TopologicalSpace (M i)
inst✝⁴ : (i : ι) → TopologicalSpace (M₁ i)
inst✝³ : (i : ι) → TopologicalSpace (M₁' i)
inst✝² : TopologicalSpace M₂
inst✝¹ : TopologicalSpace M₃
inst✝ : TopologicalSpace M₄
f f' : ContinuousMultilinearMap R M₁ M₂
ι' : Type u_1
e : ι ≃ ι'
x✝¹ : ContinuousMultilinearMap R (fun x => M₂) M₃
x✝ : ι' → M₂
⊢ ↑(domDomCongr e (domDomCongr e.symm x✝¹)) x✝ = ↑x✝¹ x✝
[PROOFSTEP]
simp
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
A : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : TopologicalSpace A
inst✝ : ContinuousMul A
⊢ Continuous (MultilinearMap.mkPiAlgebraFin R n A).toFun
[PROOFSTEP]
change Continuous fun m => (List.ofFn m).prod
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
A : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : TopologicalSpace A
inst✝ : ContinuousMul A
⊢ Continuous fun m => List.prod (List.ofFn m)
[PROOFSTEP]
simp_rw [List.ofFn_eq_map]
[GOAL]
R : Type u
ι : Type v
n : ℕ
M : Fin (Nat.succ n) → Type w
M₁ : ι → Type w₁
M₁' : ι → Type w₁'
M₂ : Type w₂
M₃ : Type w₃
M₄ : Type w₄
A : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : TopologicalSpace A
inst✝ : ContinuousMul A
⊢ Continuous fun m => List.prod (List.map m (List.finRange n))
[PROOFSTEP]
exact continuous_list_prod _ fun i _ => continuous_apply _


[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s : Set σ
⊢ supported R s = AlgHom.range (rename Subtype.val)
[PROOFSTEP]
rw [supported, Set.image_eq_range, adjoin_range_eq_range_aeval, rename]
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s : Set σ
⊢ AlgHom.range (aeval fun x => X ↑x) = AlgHom.range (aeval (X ∘ Subtype.val))
[PROOFSTEP]
congr
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s : Set σ
x : R
⊢ ↑(AlgEquiv.symm (supportedEquivMvPolynomial s)) (↑C x) = ↑(algebraMap R { x // x ∈ supported R s }) x
[PROOFSTEP]
ext1
[GOAL]
case a
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s : Set σ
x : R
⊢ ↑(↑(AlgEquiv.symm (supportedEquivMvPolynomial s)) (↑C x)) = ↑(↑(algebraMap R { x // x ∈ supported R s }) x)
[PROOFSTEP]
simp [supportedEquivMvPolynomial, MvPolynomial.algebraMap_eq]
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s : Set σ
i : ↑s
⊢ ↑(↑(AlgEquiv.symm (supportedEquivMvPolynomial s)) (X i)) = X ↑i
[PROOFSTEP]
simp [supportedEquivMvPolynomial]
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
⊢ p ∈ supported R s ↔ ↑(vars p) ⊆ s
[PROOFSTEP]
classical
rw [supported_eq_range_rename, AlgHom.mem_range]
constructor
· rintro ⟨p, rfl⟩
  refine' _root_.trans (Finset.coe_subset.2 (vars_rename _ _)) _
  simp
· intro hs
  exact exists_rename_eq_of_vars_subset_range p ((↑) : s → σ) Subtype.val_injective (by simpa)
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
⊢ p ∈ supported R s ↔ ↑(vars p) ⊆ s
[PROOFSTEP]
rw [supported_eq_range_rename, AlgHom.mem_range]
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
⊢ (∃ x, ↑(rename Subtype.val) x = p) ↔ ↑(vars p) ⊆ s
[PROOFSTEP]
constructor
[GOAL]
case mp
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
⊢ (∃ x, ↑(rename Subtype.val) x = p) → ↑(vars p) ⊆ s
[PROOFSTEP]
rintro ⟨p, rfl⟩
[GOAL]
case mp.intro
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
q : MvPolynomial σ R
s t : Set σ
p : MvPolynomial { x // x ∈ s } R
⊢ ↑(vars (↑(rename Subtype.val) p)) ⊆ s
[PROOFSTEP]
refine' _root_.trans (Finset.coe_subset.2 (vars_rename _ _)) _
[GOAL]
case mp.intro
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
q : MvPolynomial σ R
s t : Set σ
p : MvPolynomial { x // x ∈ s } R
⊢ ↑(Finset.image Subtype.val (vars p)) ⊆ s
[PROOFSTEP]
simp
[GOAL]
case mpr
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
⊢ ↑(vars p) ⊆ s → ∃ x, ↑(rename Subtype.val) x = p
[PROOFSTEP]
intro hs
[GOAL]
case mpr
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
hs : ↑(vars p) ⊆ s
⊢ ∃ x, ↑(rename Subtype.val) x = p
[PROOFSTEP]
exact exists_rename_eq_of_vars_subset_range p ((↑) : s → σ) Subtype.val_injective (by simpa)
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
hs : ↑(vars p) ⊆ s
⊢ ↑(vars p) ⊆ Set.range Subtype.val
[PROOFSTEP]
simpa
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p✝ q : MvPolynomial σ R
s t : Set σ
p : MvPolynomial σ R
⊢ p ∈ supported R ↑(vars p)
[PROOFSTEP]
rw [mem_supported]
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
⊢ supported R Set.univ = ⊤
[PROOFSTEP]
simp [Algebra.eq_top_iff, mem_supported]
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
⊢ supported R ∅ = ⊥
[PROOFSTEP]
simp [supported_eq_adjoin_X]
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
i : σ
⊢ X i ∈ supported R s ↔ i ∈ s
[PROOFSTEP]
simp [mem_supported]
[GOAL]
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
⊢ supported R s ≤ supported R t ↔ s ⊆ t
[PROOFSTEP]
constructor
[GOAL]
case mp
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
⊢ supported R s ≤ supported R t → s ⊆ t
[PROOFSTEP]
intro h i
[GOAL]
case mp
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
h : supported R s ≤ supported R t
i : σ
⊢ i ∈ s → i ∈ t
[PROOFSTEP]
simpa using @h (X i)
[GOAL]
case mpr
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
⊢ s ⊆ t → supported R s ≤ supported R t
[PROOFSTEP]
exact supported_mono
[GOAL]
σ : Type u_1
τ : Type u_2
R✝ : Type u
S : Type v
r : R✝
e : ℕ
n m : σ
inst✝¹ : CommSemiring R✝
p q : MvPolynomial σ R✝
s t : Set σ
R : Type u_3
inst✝ : CommRing R
F : MvPolynomial σ ℤ
hF : ↑(vars F) ⊆ s
⊢ ∃ f, ∀ (x : σ → R), f (x ∘ Subtype.val) = ↑(aeval x) F
[PROOFSTEP]
rw [← mem_supported, supported_eq_range_rename, AlgHom.mem_range] at hF
[GOAL]
σ : Type u_1
τ : Type u_2
R✝ : Type u
S : Type v
r : R✝
e : ℕ
n m : σ
inst✝¹ : CommSemiring R✝
p q : MvPolynomial σ R✝
s t : Set σ
R : Type u_3
inst✝ : CommRing R
F : MvPolynomial σ ℤ
hF : ∃ x, ↑(rename Subtype.val) x = F
⊢ ∃ f, ∀ (x : σ → R), f (x ∘ Subtype.val) = ↑(aeval x) F
[PROOFSTEP]
cases' hF with F' hF'
[GOAL]
case intro
σ : Type u_1
τ : Type u_2
R✝ : Type u
S : Type v
r : R✝
e : ℕ
n m : σ
inst✝¹ : CommSemiring R✝
p q : MvPolynomial σ R✝
s t : Set σ
R : Type u_3
inst✝ : CommRing R
F : MvPolynomial σ ℤ
F' : MvPolynomial { x // x ∈ s } ℤ
hF' : ↑(rename Subtype.val) F' = F
⊢ ∃ f, ∀ (x : σ → R), f (x ∘ Subtype.val) = ↑(aeval x) F
[PROOFSTEP]
use fun z ↦ aeval z F'
[GOAL]
case h
σ : Type u_1
τ : Type u_2
R✝ : Type u
S : Type v
r : R✝
e : ℕ
n m : σ
inst✝¹ : CommSemiring R✝
p q : MvPolynomial σ R✝
s t : Set σ
R : Type u_3
inst✝ : CommRing R
F : MvPolynomial σ ℤ
F' : MvPolynomial { x // x ∈ s } ℤ
hF' : ↑(rename Subtype.val) F' = F
⊢ ∀ (x : σ → R), ↑(aeval (x ∘ Subtype.val)) F' = ↑(aeval x) F
[PROOFSTEP]
intro x
[GOAL]
case h
σ : Type u_1
τ : Type u_2
R✝ : Type u
S : Type v
r : R✝
e : ℕ
n m : σ
inst✝¹ : CommSemiring R✝
p q : MvPolynomial σ R✝
s t : Set σ
R : Type u_3
inst✝ : CommRing R
F : MvPolynomial σ ℤ
F' : MvPolynomial { x // x ∈ s } ℤ
hF' : ↑(rename Subtype.val) F' = F
x : σ → R
⊢ ↑(aeval (x ∘ Subtype.val)) F' = ↑(aeval x) F
[PROOFSTEP]
simp only [← hF', aeval_rename]