AsSubmodule( M, U )
returns a submodule of the parent of M that is isomorphic to the module U which can be a parent module or a submodule with a different parent.
Note that the same ring must act on M and U.
gap> s2:= Module( a, [ [ 1, 1, 1 ] * Z(2) ] );; gap> s:= AsSubmodule( nat, s2 ); Submodule( nat, [ [ Z(2)^0, Z(2)^0, Z(2)^0 ] ] ) gap> s = s2; true
GAP 3.4.4