Back to NPA
Declaration
group_rel_inv_reassoc
Mathlib.Algebra.Group.Basic
Packages
2
Module
63
Theorems
750
Declarations
1016
Untrusted sidecar
Source text and display overlays are presentation metadata. The signed certificate and checker result are the trusted evidence.
Statement
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 (b : G), @Eq.{u} G (mul (mul a (mul (inv b) a)) (inv a)) (mul (inv (inv a)) (inv b))
Proof term
fun G => fun one => fun mul => fun inv => fun group_args => fun a => fun b => @eq_trans.{u} G (mul (mul a (mul (inv b) a)) (inv a)) (mul (mul (mul a (inv b)) a) (inv a)) (mul (inv (inv a)) (inv b)) (@eq_congr_arg.{u,u} G G (fun (z : G) => mul z (inv a)) (mul a (mul (inv b) a)) (mul (mul a (inv b)) a) (@eq_symm.{u} G (mul (mul a (inv b)) a) (mul a (mul (inv b) a)) (@group_mul_assoc.{u} G one mul inv group_args a (inv b) a))) (@eq_trans.{u} G (mul (mul (mul a (inv b)) a) (inv a)) (mul (mul a (inv b)) (mul a (inv a))) (mul (inv (inv a)) (inv b)) (@group_mul_assoc.{u} G one mul inv group_args (mul a (inv b)) a (inv a)) (@eq_trans.{u} G (mul (mul a (inv b)) (mul a (inv a))) (mul (mul a (inv b)) one) (mul (inv (inv a)) (inv b)) (@eq_congr_arg.{u,u} G G (fun (z : G) => mul (mul a (inv b)) z) (mul a (inv a)) one (@group_mul_inv.{u} G one mul inv group_args a)) (@eq_trans.{u} G (mul (mul a (inv b)) one) (mul a (inv b)) (mul (inv (inv a)) (inv b)) (@group_mul_one.{u} G one mul inv group_args (mul a (inv b))) (@eq_congr_arg.{u,u} G G (fun (z : G) => mul z (inv b)) a (inv (inv a)) (@eq_symm.{u} G (inv (inv a)) a (@group_inv_inv.{u} G one mul inv group_args a))))))