. fun_prop
case left
K : Type u_1
inst✝⁷ : RCLike K
X : Type u_2
inst✝⁶ : SemiInnerProductSpace K X
Y : Type u_3
inst✝⁵ : SemiInnerProductSpace K Y
Z : Type u_4
inst✝⁴ : SemiInnerProductSpace K Z
ι : Type ?u.14506
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.14533
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : X → Y → Z
g : X → Y
hf : HasAdjDiff K ↿f
hg : HasAdjDiff K g
x : X
⊢ CDifferentiableAt K
    (fun x =>
      let y := g x;
      f x y)
    x

case right
K : Type u_1
inst✝⁷ : RCLike K
X : Type u_2
inst✝⁶ : SemiInnerProductSpace K X
Y : Type u_3
inst✝⁵ : SemiInnerProductSpace K Y
Z : Type u_4
inst✝⁴ : SemiInnerProductSpace K Z
ι : Type ?u.14506
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.14533
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : X → Y → Z
g : X → Y
hf : HasAdjDiff K ↿f
hg : HasAdjDiff K g
x : X
⊢ HasSemiAdjoint K
    (cderiv K
      (fun x =>
        let y := g x;
        f x y)
      x)
case right
K : Type u_1
inst✝⁷ : RCLike K
X : Type u_2
inst✝⁶ : SemiInnerProductSpace K X
Y : Type u_3
inst✝⁵ : SemiInnerProductSpace K Y
Z : Type u_4
inst✝⁴ : SemiInnerProductSpace K Z
ι : Type ?u.14506
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.14533
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : X → Y → Z
g : X → Y
hf : HasAdjDiff K ↿f
hg : HasAdjDiff K g
x : X
⊢ HasSemiAdjoint K
    (cderiv K
      (fun x =>
        let y := g x;
        f x y)
      x)