Built with Alectryon, running Lean4 v4.19.0. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use instead of Ctrl.
/-
 - Created in 2024 by Gaëtan Serré
-/

/-
- https://github.com/gaetanserre/SBS-Proofs
-/

import Mathlib.Analysis.InnerProductSpace.Basic

local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y)

open scoped RealInnerProductSpace
open BigOperators Finset

set_option maxHeartbeats 4000000

/-=====================================RKHS SECTION=====================================-/

/-
  Here we define the product RKHS.
-/

/-
  We provide a typeclass definition for a generic RKHS.
-/

class RKHS {E F : Type*} [RCLike F] (H : Set (E  F)) [NormedAddCommGroup H] [InnerProductSpace F H] where
  k : E  E  F
  memb :  (x : E), k x  H
  repro :  (f : H),  (x : E), f.1 x = inner f ⟨k x, memb x⟩

def product_RKHS {α : Type*} (H : Set (α  ℝ)) [NormedAddCommGroup H] [InnerProductSpace ℝ H] [RKHS H] {d : ℕ} (_ : d  0) := Fin d  H

namespace RKHS

variable {α : Type*} {H : Set (α  ℝ)} [NormedAddCommGroup H] [InnerProductSpace ℝ H] [RKHS H]

variable {d : ℕ} {hd : d  0}

instance : Inner ℝ (product_RKHS H hd) where
  inner := λ f g   i, inner (f i) (g i)

instance : Norm (product_RKHS H hd) where
  norm := λ f  inner f f

Goals accomplished!
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
( (i : Fin d), f i = 0) f = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
( (i : Fin d), f i = 0) f = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: f = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: f = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: f = 0

mp
(i : Fin d), f i = 0
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: inner f f = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: inner f f = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: inner f f = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: inner f f = 0

mp
(i : Fin d), f i = 0
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: i, inner (f i) (f i) = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: i, inner (f i) (f i) = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: i, inner (f i) (f i) = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: x, f x ^ 2 = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: x, f x ^ 2 = 0

mp
(i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: x, f x ^ 2 = 0
i: Fin d

mp
f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: x, f x ^ 2 = 0
i: Fin d

mp
f i ^ 2 = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
norm_eq_0: x, f x ^ 2 = 0
i: Fin d
sq_norm_nonneg: i univ, 0 f i ^ 2

mp
f i ^ 2 = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

mp
f = 0 (i : Fin d), f i = 0
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

mpr
f = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

mpr
f = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

mpr
f = 0
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

mpr
inner f f = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

mpr
inner f f = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

mpr
inner f f = 0
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

mpr
i, inner (f i) (f i) = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

mpr
i, inner (f i) (f i) = 0
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

i univ, inner (f i) (f i) = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

i univ, inner (f i) (f i) = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

i univ, inner (f i) (f i) = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0
i: Fin d
a✝: i univ

inner (f i) (f i) = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

i univ, inner (f i) (f i) = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0
i: Fin d
a✝: i univ

inner (f i) (f i) = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0
i: Fin d
a✝: i univ

inner 0 0 = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0
i: Fin d
a✝: i univ

inner 0 0 = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0

i univ, inner (f i) (f i) = 0
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!

Goals accomplished! 🐙
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

f = 0 (i : Fin d), f i = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0
inner_eq_0: i univ, inner (f i) (f i) = 0

mpr
i, inner (f i) (f i) = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0
inner_eq_0: i univ, inner (f i) (f i) = 0

mpr
x, 0 = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd
hf: (i : Fin d), f i = 0
inner_eq_0: i univ, inner (f i) (f i) = 0

mpr
x, 0 = 0
Goals accomplished!
α: Type u_1
H: Set (α ℝ)
inst✝²: NormedAddCommGroup H
inst✝¹: InnerProductSpace ℝ H
inst✝: RKHS H
d:
hd: d 0
f: product_RKHS H hd

f = 0 (i : Fin d), f i = 0
Goals accomplished!

Goals accomplished! 🐙
end RKHS