For example, consider the following rings.
i4 : map(B,A)
o4 = map(B,A,{a, b, c, d, e})
o4 : RingMap B <--- A
|
i5 : map(A,B)
o5 = map(A,B,{0, 0, a, b, c, d, e})
o5 : RingMap A <--- B
|
i6 : F = map(B,C)
o6 = map(B,C,{a, b, c, d, e, x, y})
o6 : RingMap B <--- C
|
i7 : G = map(C,B)
o7 = map(C,B,{x, y, a, b, c, d, e})
o7 : RingMap C <--- B
|
i8 : F*G
o8 = map(B,B,{x, y, a, b, c, d, e})
o8 : RingMap B <--- B
|
i9 : oo === id_B
o9 = true
|
i10 : G*F
o10 = map(C,C,{a, b, c, d, e, x, y})
o10 : RingMap C <--- C
|
i11 : oo === id_C
o11 = true
|
The ring maps that are created are not always mathematically well-defined. For example, the map F below is the natural quotient map, but the map
is not mathematically well-defined, although we can use it in Macaulay2 to lift elements of
.