模块
Mathlib.Analysis.Calculus.InverseFunction
npa-mathlib
包
2
模块
63
定理
750
声明
1016
非可信 sidecar
源文本和展示 overlay 属于展示元数据。可信证据是签名证书和 checker 结果。
定理
16
定义
5
归纳类型
0
公理
0
声明
InverseResidual
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
InverseNewtonMap
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
LocalInverseEvidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
LocalInverseResult
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
QuantitativeInverseFunctionArgs
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
inverse_residual_def
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
inverse_newton_map_def
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_evidence_intro
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_evidence_elim
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_base_mem_from_evidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_image_mem_from_evidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_maps_from_evidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_left_from_evidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_right_from_evidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_unique_from_evidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_fixed_point_from_evidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_derivative_from_evidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_linear_iso_from_evidence
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_result_intro
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
local_inverse_result_elim
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
quantitative_inverse_function_from_args
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (...
哈希
- source
- sha256:cda16cfa847a4ff6fa447bb6c1749c100fa03db1f9c19caef893ccc77daee013
- certificateFile
- sha256:cc39011125fa514e18739a83f30d5a36376a972b873810f3b8ea81bd50d65976
- export
- sha256:abb15f4f06e9487c57969f4492e342be57401d9976a19c76ba95ebe89d4ee46f
- axiomReport
- sha256:4ce54129453ca5f2cc9726d9e809e739b6640402d7515115c64b8169ae6c93a6
- certificate
- sha256:b37f975a3a1c64f716754ab66d20383899321d81fd4deea8cc0720df4ff38a68
源文本
import Std.Logic.Eq
import Mathlib.Topology.Metric.Basic
import Mathlib.LinearAlgebra.VectorSpace
import Mathlib.Analysis.NormedSpace.Basic
import Mathlib.Analysis.LinearMap
import Mathlib.Analysis.Calculus.Derivative
import Mathlib.Analysis.FixedPoint.Banach
def InverseResidual.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (target : Y), forall (x : X), Y :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun target => fun x => @vsub.{w} Y yadd yneg (f x) target
def InverseNewtonMap.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (target : Y), forall (x : X), X :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun target => fun x => xadd x (xneg (df_inv (@InverseResidual.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target x)))
def LocalInverseEvidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), Prop :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => forall (P : Prop), forall (mk : forall (base_mem_law : x_domain point), forall (image_mem_law : y_domain (f point)), forall (inverse_maps_law : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)), forall (left_inverse_law : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target), forall (right_inverse_law : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x), forall (unique_law : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)), forall (fixed_point_law : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain), forall (inverse_derivative_law : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder), forall (linear_iso_law : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm), P), P
def LocalInverseResult.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), Prop :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => forall (P : Prop), forall (mk : forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), P), P
def QuantitativeInverseFunctionArgs.{s,u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (CauchySmall : forall (Sequence : Sort s), forall (seq : forall (n : Sequence), X), forall (eps : Scalar), Prop), forall (ConvergesSmall : forall (Sequence : Sort s), forall (seq : forall (n : Sequence), X), forall (limit : X), forall (eps : Scalar), Prop), forall (f_bound : Scalar), forall (f_remainder : forall (r : Y), Prop), forall (radius : Scalar), forall (lipschitz : Scalar), forall (smallness_bounds : Prop), Prop :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun CauchySmall => fun ConvergesSmall => fun f_bound => fun f_remainder => fun radius => fun lipschitz => fun smallness_bounds => forall (complete_args : @CompleteMetricArgs.{s,u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm CauchySmall ConvergesSmall), forall (f_at : @FrechetDerivativeAt.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df f_bound f_remainder), forall (f_diff_on : @FrechetDifferentiableOn.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f x_domain), forall (linear_iso : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm), forall (smallness_bounds_holds : smallness_bounds), @LocalInverseResult.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain
theorem inverse_residual_def.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (target : Y), forall (x : X), @Eq.{w} Y (@InverseResidual.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target x) (@vsub.{w} Y yadd yneg (f x) target) :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun target => fun x => @Eq.refl.{w} Y (@InverseResidual.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target x)
theorem inverse_newton_map_def.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (target : Y), forall (x : X), @Eq.{v} X (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target x) (xadd x (xneg (df_inv (@InverseResidual.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target x)))) :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun target => fun x => @Eq.refl.{v} X (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target x)
theorem local_inverse_evidence_intro.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (base_mem_law : x_domain point), forall (image_mem_law : y_domain (f point)), forall (inverse_maps_law : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)), forall (left_inverse_law : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target), forall (right_inverse_law : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x), forall (unique_law : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)), forall (fixed_point_law : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain), forall (inverse_derivative_law : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder), forall (linear_iso_law : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm), @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun base_mem_law => fun image_mem_law => fun inverse_maps_law => fun left_inverse_law => fun right_inverse_law => fun unique_law => fun fixed_point_law => fun inverse_derivative_law => fun linear_iso_law => fun (P : Prop) => fun (mk : forall (base_mem_law : x_domain point), forall (image_mem_law : y_domain (f point)), forall (inverse_maps_law : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)), forall (left_inverse_law : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target), forall (right_inverse_law : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x), forall (unique_law : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)), forall (fixed_point_law : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain), forall (inverse_derivative_law : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder), forall (linear_iso_law : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm), P) => mk base_mem_law image_mem_law inverse_maps_law left_inverse_law right_inverse_law unique_law fixed_point_law inverse_derivative_law linear_iso_law
theorem local_inverse_evidence_elim.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), forall (P : Prop), forall (mk : forall (base_mem_law : x_domain point), forall (image_mem_law : y_domain (f point)), forall (inverse_maps_law : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)), forall (left_inverse_law : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target), forall (right_inverse_law : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x), forall (unique_law : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)), forall (fixed_point_law : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain), forall (inverse_derivative_law : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder), forall (linear_iso_law : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm), P), P :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => fun P => fun mk => evidence P mk
theorem local_inverse_base_mem_from_evidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), x_domain point :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => evidence (x_domain point) (fun (base_mem_arg : x_domain point) => fun (image_mem_arg : y_domain (f point)) => fun (inverse_maps_arg : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)) => fun (left_inverse_arg : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target) => fun (right_inverse_arg : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x) => fun (unique_arg : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)) => fun (fixed_point_arg : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) => fun (inverse_derivative_arg : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) => fun (linear_iso_arg : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) => base_mem_arg)
theorem local_inverse_image_mem_from_evidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), y_domain (f point) :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => evidence (y_domain (f point)) (fun (base_mem_arg : x_domain point) => fun (image_mem_arg : y_domain (f point)) => fun (inverse_maps_arg : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)) => fun (left_inverse_arg : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target) => fun (right_inverse_arg : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x) => fun (unique_arg : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)) => fun (fixed_point_arg : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) => fun (inverse_derivative_arg : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) => fun (linear_iso_arg : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) => image_mem_arg)
theorem local_inverse_maps_from_evidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target) :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => fun target => fun target_mem => evidence (x_domain (inverse target)) (fun (base_mem_arg : x_domain point) => fun (image_mem_arg : y_domain (f point)) => fun (inverse_maps_arg : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)) => fun (left_inverse_arg : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target) => fun (right_inverse_arg : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x) => fun (unique_arg : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)) => fun (fixed_point_arg : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) => fun (inverse_derivative_arg : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) => fun (linear_iso_arg : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) => inverse_maps_arg target target_mem)
theorem local_inverse_left_from_evidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => fun target => fun target_mem => evidence (@Eq.{w} Y (f (inverse target)) target) (fun (base_mem_arg : x_domain point) => fun (image_mem_arg : y_domain (f point)) => fun (inverse_maps_arg : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)) => fun (left_inverse_arg : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target) => fun (right_inverse_arg : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x) => fun (unique_arg : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)) => fun (fixed_point_arg : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) => fun (inverse_derivative_arg : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) => fun (linear_iso_arg : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) => left_inverse_arg target target_mem)
theorem local_inverse_right_from_evidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => fun x => fun x_mem => evidence (@Eq.{v} X (inverse (f x)) x) (fun (base_mem_arg : x_domain point) => fun (image_mem_arg : y_domain (f point)) => fun (inverse_maps_arg : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)) => fun (left_inverse_arg : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target) => fun (right_inverse_arg : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x) => fun (unique_arg : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)) => fun (fixed_point_arg : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) => fun (inverse_derivative_arg : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) => fun (linear_iso_arg : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) => right_inverse_arg x x_mem)
theorem local_inverse_unique_from_evidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target) :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => fun x => fun target => fun x_mem => fun target_mem => fun image_eq => evidence (@Eq.{v} X x (inverse target)) (fun (base_mem_arg : x_domain point) => fun (image_mem_arg : y_domain (f point)) => fun (inverse_maps_arg : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)) => fun (left_inverse_arg : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target) => fun (right_inverse_arg : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x) => fun (unique_arg : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)) => fun (fixed_point_arg : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) => fun (inverse_derivative_arg : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) => fun (linear_iso_arg : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) => unique_arg x target x_mem target_mem image_eq)
theorem local_inverse_fixed_point_from_evidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => fun target => fun target_mem => evidence (@FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) (fun (base_mem_arg : x_domain point) => fun (image_mem_arg : y_domain (f point)) => fun (inverse_maps_arg : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)) => fun (left_inverse_arg : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target) => fun (right_inverse_arg : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x) => fun (unique_arg : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)) => fun (fixed_point_arg : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) => fun (inverse_derivative_arg : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) => fun (linear_iso_arg : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) => fixed_point_arg target target_mem)
theorem local_inverse_derivative_from_evidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => evidence (@FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) (fun (base_mem_arg : x_domain point) => fun (image_mem_arg : y_domain (f point)) => fun (inverse_maps_arg : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)) => fun (left_inverse_arg : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target) => fun (right_inverse_arg : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x) => fun (unique_arg : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)) => fun (fixed_point_arg : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) => fun (inverse_derivative_arg : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) => fun (linear_iso_arg : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) => inverse_derivative_arg)
theorem local_inverse_linear_iso_from_evidence.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => evidence (@LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) (fun (base_mem_arg : x_domain point) => fun (image_mem_arg : y_domain (f point)) => fun (inverse_maps_arg : forall (target : Y), forall (target_mem : y_domain target), x_domain (inverse target)) => fun (left_inverse_arg : forall (target : Y), forall (target_mem : y_domain target), @Eq.{w} Y (f (inverse target)) target) => fun (right_inverse_arg : forall (x : X), forall (x_mem : x_domain x), @Eq.{v} X (inverse (f x)) x) => fun (unique_arg : forall (x : X), forall (target : Y), forall (x_mem : x_domain x), forall (target_mem : y_domain target), forall (image_eq : @Eq.{w} Y (f x) target), @Eq.{v} X x (inverse target)) => fun (fixed_point_arg : forall (target : Y), forall (target_mem : y_domain target), @FixedPointResult.{u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm x_domain (@InverseNewtonMap.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain target) x_domain) => fun (inverse_derivative_arg : @FrechetDerivativeAt.{u,w,v} Scalar zero one add neg sub mul le_rel Y yzero yadd yneg ysmul ynorm X xzero xadd xneg xsmul xnorm inverse (f point) df_inv inverse_bound inverse_remainder) => fun (linear_iso_arg : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm) => linear_iso_arg)
theorem local_inverse_result_intro.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), @LocalInverseResult.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun inverse => fun inverse_bound => fun inverse_remainder => fun evidence => fun (P : Prop) => fun (mk : forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), P) => mk inverse inverse_bound inverse_remainder evidence
theorem local_inverse_result_elim.{u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (result : @LocalInverseResult.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain), forall (P : Prop), forall (mk : forall (inverse : forall (y : Y), X), forall (inverse_bound : Scalar), forall (inverse_remainder : forall (r : X), Prop), forall (evidence : @LocalInverseEvidence.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain inverse inverse_bound inverse_remainder), P), P :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun result => fun P => fun mk => result P mk
theorem quantitative_inverse_function_from_args.{s,u,v,w} :
forall (Scalar : Sort u), forall (zero : Scalar), forall (one : Scalar), forall (add : forall (a : Scalar), forall (b : Scalar), Scalar), forall (neg : forall (a : Scalar), Scalar), forall (sub : forall (a : Scalar), forall (b : Scalar), Scalar), forall (mul : forall (a : Scalar), forall (b : Scalar), Scalar), forall (le_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (X : Sort v), forall (xzero : X), forall (xadd : forall (x : X), forall (y : X), X), forall (xneg : forall (x : X), X), forall (xsmul : forall (a : Scalar), forall (x : X), X), forall (xnorm : forall (x : X), Scalar), forall (Y : Sort w), forall (yzero : Y), forall (yadd : forall (x : Y), forall (y : Y), Y), forall (yneg : forall (y : Y), Y), forall (ysmul : forall (a : Scalar), forall (y : Y), Y), forall (ynorm : forall (y : Y), Scalar), forall (f : forall (x : X), Y), forall (point : X), forall (df : forall (h : X), Y), forall (df_inv : forall (y : Y), X), forall (op_norm : Scalar), forall (inv_op_norm : Scalar), forall (x_domain : forall (x : X), Prop), forall (y_domain : forall (y : Y), Prop), forall (CauchySmall : forall (Sequence : Sort s), forall (seq : forall (n : Sequence), X), forall (eps : Scalar), Prop), forall (ConvergesSmall : forall (Sequence : Sort s), forall (seq : forall (n : Sequence), X), forall (limit : X), forall (eps : Scalar), Prop), forall (f_bound : Scalar), forall (f_remainder : forall (r : Y), Prop), forall (radius : Scalar), forall (lipschitz : Scalar), forall (smallness_bounds : Prop), forall (args : @QuantitativeInverseFunctionArgs.{s,u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain CauchySmall ConvergesSmall f_bound f_remainder radius lipschitz smallness_bounds), forall (complete_args : @CompleteMetricArgs.{s,u,v} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm CauchySmall ConvergesSmall), forall (f_at : @FrechetDerivativeAt.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df f_bound f_remainder), forall (f_diff_on : @FrechetDifferentiableOn.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f x_domain), forall (linear_iso : @LinearIsoArgs.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm df df_inv op_norm inv_op_norm), forall (smallness_bounds_holds : smallness_bounds), @LocalInverseResult.{u,v,w} Scalar zero one add neg sub mul le_rel X xzero xadd xneg xsmul xnorm Y yzero yadd yneg ysmul ynorm f point df df_inv op_norm inv_op_norm x_domain y_domain :=
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun X => fun xzero => fun xadd => fun xneg => fun xsmul => fun xnorm => fun Y => fun yzero => fun yadd => fun yneg => fun ysmul => fun ynorm => fun f => fun point => fun df => fun df_inv => fun op_norm => fun inv_op_norm => fun x_domain => fun y_domain => fun CauchySmall => fun ConvergesSmall => fun f_bound => fun f_remainder => fun radius => fun lipschitz => fun smallness_bounds => fun args => fun complete_args => fun f_at => fun f_diff_on => fun linear_iso => fun smallness_bounds_holds => args complete_args f_at f_diff_on linear_iso smallness_bounds_holds