返回 NPA
声明
group_rel_mul_reassoc
Mathlib.Algebra.Group.Basic
包
2
模块
63
定理
750
声明
1016
非可信 sidecar
源文本和展示 overlay 属于展示元数据。可信证据是签名证书和 checker 结果。
陈述
forall (G : Sort u), forall (one : G), forall (mul : forall (a : G), forall (b : G), G), forall (inv : forall (a : G), G), forall (group_args : @GroupLawArgs.{u} G one mul inv), forall (a : G), forall (a2 : G), forall (b : G), forall (b2 : G), @Eq.{u} G (mul (mul (mul (inv b) (mul (inv a) a2)) b) (mul (inv b) b2)) (mul (inv (mul a b)) (mul a2 b2))
证明项
fun G => fun one => fun mul => fun inv => fun group_args => fun a => fun a2 => fun b => fun b2 => @eq_trans.{u} G (mul (mul (mul (inv b) (mul (inv a) a2)) b) (mul (inv b) b2)) (mul (mul (inv b) (mul (inv a) a2)) (mul b (mul (inv b) b2))) (mul (inv (mul a b)) (mul a2 b2)) (@group_mul_assoc.{u} G one mul inv group_args (mul (inv b) (mul (inv a) a2)) b (mul (inv b) b2)) (@eq_trans.{u} G (mul (mul (inv b) (mul (inv a) a2)) (mul b (mul (inv b) b2))) (mul (mul (inv b) (mul (inv a) a2)) (mul (mul b (inv b)) b2)) (mul (inv (mul a b)) (mul a2 b2)) (@eq_congr_arg.{u,u} G G (fun (z : G) => mul (mul (inv b) (mul (inv a) a2)) z) (mul b (mul (inv b) b2)) (mul (mul b (inv b)) b2) (@eq_symm.{u} G (mul (mul b (inv b)) b2) (mul b (mul (inv b) b2)) (@group_mul_assoc.{u} G one mul inv group_args b (inv b) b2))) (@eq_trans.{u} G (mul (mul (inv b) (mul (inv a) a2)) (mul (mul b (inv b)) b2)) (mul (mul (inv b) (mul (inv a) a2)) (mul one b2)) (mul (inv (mul a b)) (mul a2 b2)) (@eq_congr_arg.{u,u} G G (fun (z : G) => mul (mul (inv b) (mul (inv a) a2)) (mul z b2)) (mul b (inv b)) one (@group_mul_inv.{u} G one mul inv group_args b)) (@eq_trans.{u} G (mul (mul (inv b) (mul (inv a) a2)) (mul one b2)) (mul (mul (inv b) (mul (inv a) a2)) b2) (mul (inv (mul a b)) (mul a2 b2)) (@eq_congr_arg.{u,u} G G (fun (z : G) => mul (mul (inv b) (mul (inv a) a2)) z) (mul one b2) b2 (@group_one_mul.{u} G one mul inv group_args b2)) (@eq_trans.{u} G (mul (mul (inv b) (mul (inv a) a2)) b2) (mul (mul (mul (inv b) (inv a)) a2) b2) (mul (inv (mul a b)) (mul a2 b2)) (@eq_congr_arg.{u,u} G G (fun (z : G) => mul z b2) (mul (inv b) (mul (inv a) a2)) (mul (mul (inv b) (inv a)) a2) (@eq_symm.{u} G (mul (mul (inv b) (inv a)) a2) (mul (inv b) (mul (inv a) a2)) (@group_mul_assoc.{u} G one mul inv group_args (inv b) (inv a) a2))) (@eq_trans.{u} G (mul (mul (mul (inv b) (inv a)) a2) b2) (mul (mul (inv b) (inv a)) (mul a2 b2)) (mul (inv (mul a b)) (mul a2 b2)) (@group_mul_assoc.{u} G one mul inv group_args (mul (inv b) (inv a)) a2 b2) (@eq_congr_arg.{u,u} G G (fun (z : G) => mul z (mul a2 b2)) (mul (inv b) (inv a)) (inv (mul a b)) (@group_mul_inv_rev.{u} G one mul inv group_args a b)))))))