Theory: elt_gp

Parents


Type constants


Term constants


Axioms


Definitions

GROUP_DEF
|- !G prod.
     GROUP (G,prod) =
     (!x y. G x /\ G y ==> G (prod x y)) /\
     (!x y z.
       G x /\ G y /\ G z ==> (prod (prod x y) z = prod x (prod y z))) /\
     (?e.
       G e /\
       (!x. G x ==> (prod e x = x)) /\
       (!x. G x ==> (?y. G y /\ (prod y x = e))))
ID_DEF
|- !G prod.
     ID (G,prod) =
     (@e.
       G e /\
       (!x. G x ==> (prod e x = x)) /\
       (!x. G x ==> (?y. G y /\ (prod y x = e))))
INV_DEF
|- !G prod x. INV (G,prod) x = (@y. G y /\ (prod y x = ID (G,prod)))

Theorems

CLOSURE
|- GROUP (G,prod) ==> (!x y. G x /\ G y ==> G (prod x y))
GROUP_ASSOC
|- GROUP (G,prod) ==>
   (!x y z. G x /\ G y /\ G z ==> (prod (prod x y) z = prod x (prod y z)))
ID_LEMMA
|- GROUP (G,prod) ==>
   G (ID (G,prod)) /\
   (!x. G x ==> (prod (ID (G,prod)) x = x)) /\
   (!x. G x ==> (prod x (ID (G,prod)) = x)) /\
   (!x. G x ==> (?y. G y /\ (prod y x = ID (G,prod))))
INV_CLOSURE
|- GROUP (G,prod) ==> (!x. G x ==> G (INV (G,prod) x))
LEFT_RIGHT_INV
|- GROUP (G,prod) ==>
   (!x y.
     G x /\ G y ==> (prod y x = ID (G,prod)) ==> (prod x y = ID (G,prod)))
INV_LEMMA
|- GROUP (G,prod) ==>
   (!x.
     G x ==>
     (prod (INV (G,prod) x) x = ID (G,prod)) /\
     (prod x (INV (G,prod) x) = ID (G,prod)))
LEFT_CANCELLATION
|- GROUP (G,prod) ==>
   (!x y z. G x /\ G y /\ G z ==> (prod x y = prod x z) ==> (y = z))
RIGHT_CANCELLATION
|- GROUP (G,prod) ==>
   (!x y z. G x /\ G y /\ G z ==> (prod y x = prod z x) ==> (y = z))
RIGHT_ONE_ONE_ONTO
|- GROUP (G,prod) ==>
   (!x y.
     G x /\ G y ==>
     (?z. G z /\ (prod x z = y) /\ (!u. G u /\ (prod x u = y) ==> (u = z))))
LEFT_ONE_ONE_ONTO
|- GROUP (G,prod) ==>
   (!x y.
     G x /\ G y ==>
     (?z. G z /\ (prod z x = y) /\ (!u. G u /\ (prod u x = y) ==> (u = z))))
UNIQUE_ID
|- GROUP (G,prod) ==>
   (!e.
     G e /\ ((?x. G x /\ (prod e x = x)) \/ (?x. G x /\ (prod x e = x))) ==>
     (e = ID (G,prod)))
UNIQUE_INV
|- GROUP (G,prod) ==>
   (!x.
     G x ==> (!u. G u /\ (prod u x = ID (G,prod)) ==> (u = INV (G,prod) x)))
INV_ID_LEMMA
|- GROUP (G,prod) ==> (INV (G,prod) (ID (G,prod)) = ID (G,prod))
INV_INV_LEMMA
|- GROUP (G,prod) ==> (!x. G x ==> (INV (G,prod) (INV (G,prod) x) = x))
DIST_INV_LEMMA
|- GROUP (G,prod) ==>
   (!x y.
     G x /\ G y ==>
     (prod (INV (G,prod) x) (INV (G,prod) y) = INV (G,prod) (prod y x)))