internlm/Lean-Github huggingface dataset:
Theorem: SciLean.Prod.snd.arg_self.HasAdjDiffAt_rule
Proof state before:
case left
K✝ : Type ?u.27040
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.27046
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.27059
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.27070
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.27081
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.27108
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_3
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_1
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_2
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.27165
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.27176
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.27203
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y × Z
hf : HasAdjDiffAt K f x
⊢ CDifferentiableAt K (fun x => (f x).2) x

case right
K✝ : Type ?u.27040
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.27046
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.27059
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.27070
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.27081
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.27108
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_3
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_1
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_2
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.27165
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.27176
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.27203
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y × Z
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K (cderiv K (fun x => (f x).2) x)
Tactic:
fun_prop
Proof state after:
case right
K✝ : Type ?u.27040
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.27046
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.27059
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.27070
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.27081
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.27108
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_3
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_1
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_2
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.27165
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.27176
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.27203
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y × Z
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K (cderiv K (fun x => (f x).2) x)
Theorem: SciLean.Prod.snd.arg_self.HasAdjDiffAt_rule
Proof state before:
case right
K✝ : Type ?u.27040
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.27046
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.27059
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.27070
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.27081
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.27108
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_3
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_1
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_2
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.27165
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.27176
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.27203
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y × Z
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K (cderiv K (fun x => (f x).2) x)
Tactic:
fun_trans
Proof state after:
case right
K✝ : Type ?u.27040
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.27046
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.27059
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.27070
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.27081
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.27108
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_3
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_1
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_2
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.27165
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.27176
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.27203
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y × Z
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K fun dx => (cderiv K (fun x => f x) x dx).2
Theorem: SciLean.Prod.snd.arg_self.HasAdjDiffAt_rule
Proof state before:
case right
K✝ : Type ?u.27040
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.27046
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.27059
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.27070
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.27081
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.27108
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_3
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_1
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_2
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.27165
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.27176
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.27203
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y × Z
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K fun dx => (cderiv K (fun x => f x) x dx).2
Tactic:
fun_prop
Proof state after:
no goals
Theorem: SciLean.Prod.snd.arg_self.HasAdjDiff_rule
Proof state before:
K✝ : Type ?u.28834
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.28840
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.28853
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.28864
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.28875
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.28902
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_3
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_1
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_2
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.28959
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.28970
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.28997
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : X → Y × Z
hf : HasAdjDiff K f
⊢ HasAdjDiff K fun x => (f x).2
Tactic:
intro x
Proof state after:
K✝ : Type ?u.28834
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.28840
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.28853
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.28864
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.28875
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.28902
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_3
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_1
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_2
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.28959
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.28970
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.28997
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : X → Y × Z
hf : HasAdjDiff K f
x : X
⊢ HasAdjDiffAt K (fun x => (f x).2) x
Theorem: SciLean.Prod.snd.arg_self.HasAdjDiff_rule
Proof state before:
K✝ : Type ?u.28834
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.28840
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.28853
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.28864
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.28875
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.28902
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_3
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_1
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_2
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.28959
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.28970
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.28997
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : X → Y × Z
hf : HasAdjDiff K f
x : X
⊢ HasAdjDiffAt K (fun x => (f x).2) x
Tactic:
fun_prop
Proof state after:
no goals
Theorem: SciLean.SciLean.cderiv.arg_dx.HasSemiAdjoint_rule_at
Proof state before:
K✝ : Type ?u.29372
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.29378
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.29391
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.29402
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.29413
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.29440
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_1
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_2
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_3
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.29497
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.29508
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.29535
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : Y → Z
g : X → Y
y : Y
hf : HasAdjDiffAt K f y
hg : HasSemiAdjoint K g
⊢ HasSemiAdjoint K fun dx => cderiv K f y (g dx)
Tactic:
apply HasSemiAdjoint.comp_rule K (cderiv K f y) g hf.2 hg
Proof state after:
no goals
Theorem: SciLean.SciLean.cderiv.arg_dx.HasSemiAdjoint_rule
Proof state before:
K✝ : Type ?u.30002
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30008
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30021
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30032
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30043
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30070
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
K : Type u_1
inst✝⁸ : RCLike K
X : Type u_4
inst✝⁷ : SemiInnerProductSpace K X
Y : Type u_2
inst✝⁶ : SemiInnerProductSpace K Y
Z : Type u_3
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30127
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30138
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30165
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : Y → Z
g : X → Y
y : Y
hf : HasAdjDiff K f
hg : HasSemiAdjoint K g
⊢ HasSemiAdjoint K fun dx => cderiv K f y (g dx)
Tactic:
fun_prop
Proof state after:
no goals
Theorem: SciLean.Neg.neg.arg_a0.HasAdjDiffAt_rule
Proof state before:
K✝ : Type ?u.30624
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30630
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30643
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30654
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30665
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30692
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.30738
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30749
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30760
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30787
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y
hf : HasAdjDiffAt K f x
⊢ HasAdjDiffAt K (fun x => -f x) x
Tactic:
constructor
Proof state after:
case left
K✝ : Type ?u.30624
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30630
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30643
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30654
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30665
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30692
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.30738
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30749
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30760
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30787
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y
hf : HasAdjDiffAt K f x
⊢ CDifferentiableAt K (fun x => -f x) x

case right
K✝ : Type ?u.30624
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30630
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30643
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30654
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30665
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30692
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.30738
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30749
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30760
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30787
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K (cderiv K (fun x => -f x) x)
Theorem: SciLean.Neg.neg.arg_a0.HasAdjDiffAt_rule
Proof state before:
case left
K✝ : Type ?u.30624
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30630
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30643
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30654
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30665
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30692
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.30738
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30749
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30760
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30787
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y
hf : HasAdjDiffAt K f x
⊢ CDifferentiableAt K (fun x => -f x) x

case right
K✝ : Type ?u.30624
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30630
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30643
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30654
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30665
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30692
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.30738
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30749
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30760
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30787
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K (cderiv K (fun x => -f x) x)
Tactic:
fun_prop
Proof state after:
case right
K✝ : Type ?u.30624
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30630
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30643
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30654
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30665
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30692
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.30738
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30749
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30760
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30787
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K (cderiv K (fun x => -f x) x)
Theorem: SciLean.Neg.neg.arg_a0.HasAdjDiffAt_rule
Proof state before:
case right
K✝ : Type ?u.30624
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30630
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30643
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30654
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30665
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30692
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.30738
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30749
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30760
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30787
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K (cderiv K (fun x => -f x) x)
Tactic:
fun_trans
Proof state after:
case right
K✝ : Type ?u.30624
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30630
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30643
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30654
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30665
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30692
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.30738
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30749
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30760
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30787
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K fun dx => -cderiv K (fun x => f x) x dx
Theorem: SciLean.Neg.neg.arg_a0.HasAdjDiffAt_rule
Proof state before:
case right
K✝ : Type ?u.30624
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.30630
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.30643
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.30654
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.30665
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.30692
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.30738
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.30749
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.30760
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.30787
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f : X → Y
hf : HasAdjDiffAt K f x
⊢ HasSemiAdjoint K fun dx => -cderiv K (fun x => f x) x dx
Tactic:
fun_prop
Proof state after:
no goals
Theorem: SciLean.Neg.neg.arg_a0.HasAdjDiff_rule
Proof state before:
K✝ : Type ?u.32374
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.32380
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.32393
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.32404
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.32415
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.32442
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.32488
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.32499
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.32510
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.32537
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : X → Y
hf : HasAdjDiff K f
⊢ HasAdjDiff K fun x => -f x
Tactic:
intro x
Proof state after:
K✝ : Type ?u.32374
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.32380
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.32393
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.32404
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.32415
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.32442
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.32488
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.32499
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.32510
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.32537
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : X → Y
hf : HasAdjDiff K f
x : X
⊢ HasAdjDiffAt K (fun x => -f x) x
Theorem: SciLean.Neg.neg.arg_a0.HasAdjDiff_rule
Proof state before:
K✝ : Type ?u.32374
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.32380
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.32393
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.32404
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.32415
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.32442
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.32488
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.32499
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.32510
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.32537
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
f : X → Y
hf : HasAdjDiff K f
x : X
⊢ HasAdjDiffAt K (fun x => -f x) x
Tactic:
fun_prop
Proof state after:
no goals
Theorem: SciLean.HAdd.hAdd.arg_a0a1.HasAdjDiffAt_rule
Proof state before:
K✝ : Type ?u.33052
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.33058
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.33071
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.33082
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.33093
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.33120
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.33166
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.33177
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.33188
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.33215
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f g : X → Y
hf : HasAdjDiffAt K f x
hg : HasAdjDiffAt K g x
⊢ HasAdjDiffAt K (fun x => f x + g x) x
Tactic:
constructor
Proof state after:
case left
K✝ : Type ?u.33052
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.33058
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.33071
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.33082
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.33093
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.33120
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.33166
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.33177
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.33188
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.33215
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f g : X → Y
hf : HasAdjDiffAt K f x
hg : HasAdjDiffAt K g x
⊢ CDifferentiableAt K (fun x => f x + g x) x

case right
K✝ : Type ?u.33052
inst✝¹⁶ : RCLike K✝
X✝ : Type ?u.33058
inst✝¹⁵ : SemiInnerProductSpace K✝ X✝
Y✝ : Type ?u.33071
inst✝¹⁴ : SemiInnerProductSpace K✝ Y✝
Z✝ : Type ?u.33082
inst✝¹³ : SemiInnerProductSpace K✝ Z✝
ι✝ : Type ?u.33093
inst✝¹² : IndexType ι✝
inst✝¹¹ : LawfulIndexType ι✝
inst✝¹⁰ : DecidableEq ι✝
E✝ : ι✝ → Type ?u.33120
inst✝⁹ : (i : ι✝) → SemiInnerProductSpace K✝ (E✝ i)
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.33166
inst✝⁵ : SemiInnerProductSpace K Z
W : Type ?u.33177
inst✝⁴ : SemiInnerProductSpace K W
ι : Type ?u.33188
inst✝³ : IndexType ι
inst✝² : LawfulIndexType ι
inst✝¹ : DecidableEq ι
E : ι → Type ?u.33215
inst✝ : (i : ι) → SemiInnerProductSpace K (E i)
x : X
f g : X → Y
hf : HasAdjDiffAt K f x
hg : HasAdjDiffAt K g x
⊢ HasSemiAdjoint K (cderiv K (fun x => f x + g x) x)