声明
triangle_inequality_from_law_packages
Mathlib.Geometry.Metric.Abstract
包
2
模块
63
定理
750
声明
1016
非可信 sidecar
源文本和展示 overlay 属于展示元数据。可信证据是签名证书和 checker 结果。
陈述
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 (lt_rel : forall (a : Scalar), forall (b : Scalar), Prop), forall (sqrt_fn : forall (a : Scalar), Scalar), forall (Vector : Sort v), forall (vzero : Vector), forall (vadd : forall (x : Vector), forall (y : Vector), Vector), forall (vneg : forall (x : Vector), Vector), forall (smul : forall (a : Scalar), forall (x : Vector), Vector), forall (inner : forall (x : Vector), forall (y : Vector), Scalar), forall (PointCarrier : Sort p), forall (disp_op : forall (A : PointCarrier), forall (B : PointCarrier), Vector), forall (ring_args : @RingLawArgs.{u} Scalar zero one add neg sub mul), forall (ordered_args : @OrderedFieldLawArgs.{u} Scalar zero one add neg sub mul le_rel lt_rel sqrt_fn), forall (vector_args : @VectorSpaceLawArgs.{u,v} Scalar zero one add neg sub mul Vector vzero vadd vneg smul), forall (inner_args : @InnerProductLawArgs.{u,v} Scalar zero one add neg sub mul le_rel Vector vzero vadd vneg smul inner), forall (affine_args : @AffineLawArgs.{p,u,v} Scalar zero one add neg sub mul le_rel Vector vzero vadd vneg smul inner PointCarrier disp_op), forall (A : PointCarrier), forall (B : PointCarrier), forall (C : PointCarrier), le_rel (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A C) (add (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A B) (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op B C))
证明项
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun le_rel => fun lt_rel => fun sqrt_fn => fun Vector => fun vzero => fun vadd => fun vneg => fun smul => fun inner => fun PointCarrier => fun disp_op => fun ring_args => fun ordered_args => fun vector_args => fun inner_args => fun affine_args => fun A => fun B => fun C => @sqrt_sum_square_bound_from_ordered_args.{u} Scalar zero one add neg sub mul le_rel lt_rel sqrt_fn ordered_args (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A C) (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A B) (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op B C) (@dist_nonneg_from_ordered_args.{p,u,v} Scalar zero one add neg sub mul le_rel lt_rel sqrt_fn Vector vzero vadd vneg smul inner PointCarrier disp_op ordered_args A C) (@dist_nonneg_from_ordered_args.{p,u,v} Scalar zero one add neg sub mul le_rel lt_rel sqrt_fn Vector vzero vadd vneg smul inner PointCarrier disp_op ordered_args A B) (@dist_nonneg_from_ordered_args.{p,u,v} Scalar zero one add neg sub mul le_rel lt_rel sqrt_fn Vector vzero vadd vneg smul inner PointCarrier disp_op ordered_args B C) (@Eq.rec.{u,0} Scalar (@sq.{u} Scalar mul (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A C)) (fun (q : Scalar) => fun (hq : @Eq.{u} Scalar (@sq.{u} Scalar mul (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A C)) q) => forall (hbound : le_rel q (@sq.{u} Scalar mul (add (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A B) (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op B C)))), le_rel (@sq.{u} Scalar mul (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A C)) (@sq.{u} Scalar mul (add (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A B) (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op B C)))) (fun (hbound : le_rel (@sq.{u} Scalar mul (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A C)) (@sq.{u} Scalar mul (add (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op A B) (@dist.{p,u,v} Scalar sqrt_fn Vector inner PointCarrier disp_op B C)))) => hbound) (@distSqPoints.{p,u,v} Scalar Vector inner PointCarrier disp_op A C) (@square_dist_eq_dist_sq_from_law_packages.{p,u,v} Scalar zero one add neg sub mul le_rel lt_rel sqrt_fn Vector vzero vadd vneg smul inner PointCarrier disp_op ordered_args inner_args A C) (@dist_sq_points_le_square_sum_dist_from_law_packages.{p,u,v} Scalar zero one add neg sub mul le_rel lt_rel sqrt_fn Vector vzero vadd vneg smul inner PointCarrier disp_op ring_args ordered_args vector_args inner_args affine_args A B C))
常量
Mathlib.Algebra.OrderedField.Basic.OrderedFieldLawArgs
Interface hash: sha256:b2afb54e4cee9b3c32d29d80547a960405a4d40af2427b708d8c94bec400d654
Mathlib.Algebra.Ring.Basic.RingLawArgs
Interface hash: sha256:456107df4dbed059c89d328bcf94eef13770b88f637bdf225bb9c3cf0005a2f5
Mathlib.Geometry.Affine.AffineLawArgs
Interface hash: sha256:5784cd602124756681dcc1321cbc9250895d42148da52ee028142c4fa9fcfd17
Mathlib.Geometry.Metric.Abstract.dist
Interface hash: sha256:c8fe3330e12ff12b57e3c21a685a1d1d19eef61abe61e9e0254e46a01889cb13
Mathlib.LinearAlgebra.InnerProduct.InnerProductLawArgs
Interface hash: sha256:9f49181dbd7b368e5a936694909c4757c4c4213ad937bc6af94ce70ba83ecee5
Mathlib.LinearAlgebra.VectorSpace.VectorSpaceLawArgs
Interface hash: sha256:116b69a01c67c87d083a5179e27c8f88d2ad993d3f9eee7a04efeda926bbd074