返回 NPA

声明

add_pairwise_commute_from_ring_args

Mathlib.Algebra.OrderedField.ScalarIdentities

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 (ring_args : @RingLawArgs.{u} Scalar zero one add neg sub mul), forall (a : Scalar), forall (b : Scalar), forall (c : Scalar), forall (d : Scalar), @Eq.{u} Scalar (add (add a b) (add c d)) (add (add a c) (add b d))

证明项

fun Scalar => fun zero => fun one => fun add => fun neg => fun sub => fun mul => fun ring_args => fun a => fun b => fun c => fun d => ring_args (@Eq.{u} Scalar (add (add a b) (add c d)) (add (add a c) (add b d))) (fun (sub_eq_add_neg_arg : forall (a : Scalar), forall (b : Scalar), @Eq.{u} Scalar (sub a b) (add a (neg b))) => fun (add_assoc_arg : forall (a : Scalar), forall (b : Scalar), forall (c : Scalar), @Eq.{u} Scalar (add (add a b) c) (add a (add b c))) => fun (add_comm_arg : forall (a : Scalar), forall (b : Scalar), @Eq.{u} Scalar (add a b) (add b a)) => fun (add_zero_arg : forall (a : Scalar), @Eq.{u} Scalar (add a zero) a) => fun (zero_add_arg : forall (a : Scalar), @Eq.{u} Scalar (add zero a) a) => fun (neg_add_cancel_arg : forall (a : Scalar), @Eq.{u} Scalar (add (neg a) a) zero) => fun (add_neg_cancel_arg : forall (a : Scalar), @Eq.{u} Scalar (add a (neg a)) zero) => fun (sub_self_arg : forall (a : Scalar), @Eq.{u} Scalar (sub a a) zero) => fun (mul_assoc_arg : forall (a : Scalar), forall (b : Scalar), forall (c : Scalar), @Eq.{u} Scalar (mul (mul a b) c) (mul a (mul b c))) => fun (mul_comm_arg : forall (a : Scalar), forall (b : Scalar), @Eq.{u} Scalar (mul a b) (mul b a)) => fun (mul_one_arg : forall (a : Scalar), @Eq.{u} Scalar (mul a one) a) => fun (one_mul_arg : forall (a : Scalar), @Eq.{u} Scalar (mul one a) a) => fun (left_distrib_arg : forall (a : Scalar), forall (b : Scalar), forall (c : Scalar), @Eq.{u} Scalar (mul a (add b c)) (add (mul a b) (mul a c))) => fun (right_distrib_arg : forall (a : Scalar), forall (b : Scalar), forall (c : Scalar), @Eq.{u} Scalar (mul (add a b) c) (add (mul a c) (mul b c))) => fun (mul_zero_arg : forall (a : Scalar), @Eq.{u} Scalar (mul a zero) zero) => fun (zero_mul_arg : forall (a : Scalar), @Eq.{u} Scalar (mul zero a) zero) => fun (add_left_cancel_arg : forall (a : Scalar), forall (b : Scalar), forall (c : Scalar), forall (h : @Eq.{u} Scalar (add a b) (add a c)), @Eq.{u} Scalar b c) => fun (ring_normalize_add_mul3_arg : forall (a : Scalar), forall (b : Scalar), forall (c : Scalar), @Eq.{u} Scalar (add (add (mul a b) (mul b c)) (mul a c)) (add (add (mul a b) (mul a c)) (mul b c))) => fun (add_right_cancel_arg : forall (a : Scalar), forall (b : Scalar), forall (c : Scalar), forall (h : @Eq.{u} Scalar (add b a) (add c a)), @Eq.{u} Scalar b c) => fun (neg_neg_arg : forall (a : Scalar), @Eq.{u} Scalar (neg (neg a)) a) => fun (sub_zero_arg : forall (a : Scalar), @Eq.{u} Scalar (sub a zero) a) => fun (zero_sub_arg : forall (a : Scalar), @Eq.{u} Scalar (sub zero a) (neg a)) => fun (sub_add_cancel_arg : forall (a : Scalar), forall (b : Scalar), @Eq.{u} Scalar (add (sub a b) b) a) => fun (add_sub_cancel_arg : forall (a : Scalar), forall (b : Scalar), @Eq.{u} Scalar (sub (add a b) b) a) => fun (sub_add_sub_cancel_arg : forall (a : Scalar), forall (b : Scalar), forall (c : Scalar), @Eq.{u} Scalar (sub (sub a c) (sub b c)) (sub a b)) => @eq_calc3.{u} Scalar (add (add a b) (add c d)) (add a (add b (add c d))) (add a (add c (add b d))) (add (add a c) (add b d)) (add_assoc_arg a b (add c d)) (@eq_congr_arg.{u,u} Scalar Scalar (fun (z : Scalar) => add a z) (add b (add c d)) (add c (add b d)) (@eq_calc3.{u} Scalar (add b (add c d)) (add (add b c) d) (add (add c b) d) (add c (add b d)) (@eq_symm.{u} Scalar (add (add b c) d) (add b (add c d)) (add_assoc_arg b c d)) (@eq_congr_arg.{u,u} Scalar Scalar (fun (z : Scalar) => add z d) (add b c) (add c b) (add_comm_arg b c)) (add_assoc_arg c b d))) (@eq_symm.{u} Scalar (add (add a c) (add b d)) (add a (add c (add b d))) (add_assoc_arg a c (add b d))))

常量