set X0 = the carrier of X;
set Z0 = the ZeroF of X;
set ADD = the addF of X;
set LMLT = Mult_INT* X;
set XP = ModuleStr(# the carrier of X, the addF of X, the ZeroF of X,(Mult_INT* X) #);
A1:
ModuleStr(# the carrier of X, the addF of X, the ZeroF of X,(Mult_INT* X) #) is vector-distributive
A2:
ModuleStr(# the carrier of X, the addF of X, the ZeroF of X,(Mult_INT* X) #) is scalar-distributive
A3:
ModuleStr(# the carrier of X, the addF of X, the ZeroF of X,(Mult_INT* X) #) is scalar-associative
A4:
ModuleStr(# the carrier of X, the addF of X, the ZeroF of X,(Mult_INT* X) #) is scalar-unital
hence
( modetrans X is Abelian & modetrans X is add-associative & modetrans X is right_zeroed & modetrans X is right_complementable & modetrans X is vector-distributive & modetrans X is scalar-distributive & modetrans X is scalar-associative & modetrans X is scalar-unital )
by A1, A2, A3, A4, A5, A6, A7; verum