Theorem: SciLean.HasSemiAdjoint.Inner.inner.arg_a1.HasSemiAdjoint_rule (SciLean/Core/FunctionPropositions/HasSemiAdjoint.lean)

State before:
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ HasSemiAdjoint K fun x => ⟪y, f x⟫_K
Tactic:
constructor
State after:
case semiAdjoint_exists
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ ∃ f', ∀ (x : X) (y_1 : K), TestFunction x → ⟪y_1, ⟪y, f x⟫_K⟫_K = ⟪f' y_1, x⟫_K

case is_differentiable
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ SciLean.CDifferentiable K fun x => ⟪y, f x⟫_K

State before:
case semiAdjoint_exists
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ ∃ f', ∀ (x : X) (y_1 : K), TestFunction x → ⟪y_1, ⟪y, f x⟫_K⟫_K = ⟪f' y_1, x⟫_K

case is_differentiable
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ SciLean.CDifferentiable K fun x => ⟪y, f x⟫_K
Tactic:
. apply Exists.intro (fun (c : K) => c • semiAdjoint K f y) _
  sorry_proof
State after:
case is_differentiable
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ SciLean.CDifferentiable K fun x => ⟪y, f x⟫_K

State before:
case is_differentiable
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ SciLean.CDifferentiable K fun x => ⟪y, f x⟫_K
Tactic:
. fun_prop
State after:
no goals

State before:
case semiAdjoint_exists
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ ∃ f', ∀ (x : X) (y_1 : K), TestFunction x → ⟪y_1, ⟪y, f x⟫_K⟫_K = ⟪f' y_1, x⟫_K
Tactic:
apply Exists.intro (fun (c : K) => c • semiAdjoint K f y) _
State after:
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ ∀ (x : X) (y_1 : K), TestFunction x → ⟪y_1, ⟪y, f x⟫_K⟫_K = ⟪(fun c => c • semiAdjoint K f y) y_1, x⟫_K

State before:
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ ∀ (x : X) (y_1 : K), TestFunction x → ⟪y_1, ⟪y, f x⟫_K⟫_K = ⟪(fun c => c • semiAdjoint K f y) y_1, x⟫_K
Tactic:
sorry_proof
State after:
no goals

State before:
case is_differentiable
K✝¹ : Type ?u.55418
inst✝²⁰ : RCLike K✝¹
X✝¹ : Type ?u.55424
inst✝¹⁹ : SemiInnerProductSpace K✝¹ X✝¹
Y✝¹ : Type ?u.55437
inst✝¹⁸ : SemiInnerProductSpace K✝¹ Y✝¹
Z✝ : Type ?u.55448
inst✝¹⁷ : SemiInnerProductSpace K✝¹ Z✝
W✝ : Type ?u.55459
inst✝¹⁶ : SemiInnerProductSpace K✝¹ W✝
ι✝ : Type ?u.55470
inst✝¹⁵ : IndexType ι✝
inst✝¹⁴ : LawfulIndexType ι✝
inst✝¹³ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.55497
inst✝¹² : (i : ι✝) → SemiInnerProductSpace K✝¹ (E✝ i)
K✝ : Type ?u.55513
inst✝¹¹ : RCLike K✝
X✝ : Type ?u.55519
inst✝¹⁰ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.55532
inst✝⁹ : SemiInnerProductSpace K✝ Y✝
Z : Type ?u.55543
inst✝⁸ : SemiInnerProductSpace K✝ Z
W : Type ?u.55554
inst✝⁷ : SemiInnerProductSpace K✝ W
ι : Type ?u.55565
inst✝⁶ : IndexType ι
inst✝⁵ : LawfulIndexType ι
inst✝⁴ : DecidableEq ι
E : ι → Type ?u.55592
inst✝³ : (i : ι) → SemiInnerProductSpace K✝ (E i)
K : Type u_1
inst✝² : RealScalar K
X : Type u_2
inst✝¹ : SemiInnerProductSpace K X
Y : Type u_3
inst✝ : SemiHilbert K Y
f : X → Y
x✝ : HasSemiAdjoint K f
y : Y
⊢ SciLean.CDifferentiable K fun x => ⟪y, f x⟫_K
Tactic:
fun_prop
State after:
no goals