返回 NPA
声明
vec_add_comm_from_vector_args
Mathlib.Geometry.Affine.Derived
包
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 (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 (vector_args : @VectorSpaceLawArgs.{u,v} Scalar zero one add neg sub mul Vector vzero vadd vneg smul), forall (x : Vector), forall (y : Vector), @Eq.{v} Vector (vadd x y) (vadd y x)
证明项
fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun Vector => fun vzero => fun vadd => fun vneg => fun smul => fun vector_args => fun x => fun y => vector_args (@Eq.{v} Vector (vadd x y) (vadd y x)) (fun (vec_sub_def_arg : forall (x : Vector), forall (y : Vector), @Eq.{v} Vector (@vsub.{v} Vector vadd vneg x y) (vadd x (vneg y))) => fun (vec_add_assoc_arg : forall (x : Vector), forall (y : Vector), forall (z : Vector), @Eq.{v} Vector (vadd (vadd x y) z) (vadd x (vadd y z))) => fun (vec_add_comm_arg : forall (x : Vector), forall (y : Vector), @Eq.{v} Vector (vadd x y) (vadd y x)) => fun (vec_add_zero_arg : forall (x : Vector), @Eq.{v} Vector (vadd x vzero) x) => fun (vec_zero_add_arg : forall (x : Vector), @Eq.{v} Vector (vadd vzero x) x) => fun (vec_neg_add_cancel_arg : forall (x : Vector), @Eq.{v} Vector (vadd (vneg x) x) vzero) => fun (vec_add_neg_cancel_arg : forall (x : Vector), @Eq.{v} Vector (vadd x (vneg x)) vzero) => fun (sub_sub_sub_cancel_arg : forall (x : Vector), forall (y : Vector), forall (z : Vector), @Eq.{v} Vector (@vsub.{v} Vector vadd vneg (@vsub.{v} Vector vadd vneg x z) (@vsub.{v} Vector vadd vneg y z)) (@vsub.{v} Vector vadd vneg x y)) => fun (vec_sub_self_arg : forall (x : Vector), @Eq.{v} Vector (@vsub.{v} Vector vadd vneg x x) vzero) => fun (vec_sub_zero_arg : forall (x : Vector), @Eq.{v} Vector (@vsub.{v} Vector vadd vneg x vzero) x) => fun (vec_add_left_cancel_arg : forall (x : Vector), forall (y : Vector), forall (z : Vector), forall (h : @Eq.{v} Vector (vadd x y) (vadd x z)), @Eq.{v} Vector y z) => fun (smul_add_arg : forall (a : Scalar), forall (b : Scalar), forall (x : Vector), @Eq.{v} Vector (smul (add a b) x) (vadd (smul a x) (smul b x))) => fun (add_smul_arg : forall (a : Scalar), forall (x : Vector), forall (y : Vector), @Eq.{v} Vector (smul a (vadd x y)) (vadd (smul a x) (smul a y))) => fun (one_smul_arg : forall (x : Vector), @Eq.{v} Vector (smul one x) x) => fun (mul_smul_arg : forall (a : Scalar), forall (b : Scalar), forall (x : Vector), @Eq.{v} Vector (smul (mul a b) x) (smul a (smul b x))) => fun (zero_smul_arg : forall (x : Vector), @Eq.{v} Vector (smul zero x) vzero) => fun (smul_zero_arg : forall (a : Scalar), @Eq.{v} Vector (smul a vzero) vzero) => fun (neg_smul_arg : forall (a : Scalar), forall (x : Vector), @Eq.{v} Vector (smul (neg a) x) (vneg (smul a x))) => fun (smul_neg_arg : forall (a : Scalar), forall (x : Vector), @Eq.{v} Vector (smul a (vneg x)) (vneg (smul a x))) => fun (vec_sub_eq_add_neg_arg : forall (x : Vector), forall (y : Vector), @Eq.{v} Vector (@vsub.{v} Vector vadd vneg x y) (vadd x (vneg y))) => fun (sub_add_sub_cancel_left_arg : forall (x : Vector), forall (y : Vector), forall (z : Vector), @Eq.{v} Vector (vadd (@vsub.{v} Vector vadd vneg x z) (@vsub.{v} Vector vadd vneg z y)) (@vsub.{v} Vector vadd vneg x y)) => fun (linear_comb2_ext_arg : forall (a : Scalar), forall (x : Vector), forall (b : Scalar), forall (y : Vector), @Eq.{v} Vector (@linear_comb2.{u,v} Scalar Vector vadd smul a x b y) (vadd (smul a x) (smul b y))) => fun (linear_comb3_ext_arg : forall (a : Scalar), forall (x : Vector), forall (b : Scalar), forall (y : Vector), forall (c : Scalar), forall (z : Vector), @Eq.{v} Vector (@linear_comb3.{u,v} Scalar Vector vadd smul a x b y c z) (vadd (vadd (smul a x) (smul b y)) (smul c z))) => vec_add_comm_arg x y)