Metamath Proof Explorer


Theorem zlmodzxzsubm

Description: The subtraction of the ZZ-module ZZ X. ZZ expressed as addition. (Contributed by AV, 24-May-2019) (Revised by AV, 10-Jun-2019)

Ref Expression
Hypotheses zlmodzxz.z 𝑍 = ( ℤring freeLMod { 0 , 1 } )
zlmodzxzsub.m = ( -g𝑍 )
Assertion zlmodzxzsubm ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) = ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } ( +g𝑍 ) ( - 1 ( ·𝑠𝑍 ) { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) ) )

Proof

Step Hyp Ref Expression
1 zlmodzxz.z 𝑍 = ( ℤring freeLMod { 0 , 1 } )
2 zlmodzxzsub.m = ( -g𝑍 )
3 1 zlmodzxzlmod ( 𝑍 ∈ LMod ∧ ℤring = ( Scalar ‘ 𝑍 ) )
4 3 simpli 𝑍 ∈ LMod
5 4 a1i ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → 𝑍 ∈ LMod )
6 1 zlmodzxzel ( ( 𝐴 ∈ ℤ ∧ 𝐶 ∈ ℤ ) → { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } ∈ ( Base ‘ 𝑍 ) )
7 6 ad2ant2r ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } ∈ ( Base ‘ 𝑍 ) )
8 1 zlmodzxzel ( ( 𝐵 ∈ ℤ ∧ 𝐷 ∈ ℤ ) → { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ∈ ( Base ‘ 𝑍 ) )
9 8 ad2ant2l ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ∈ ( Base ‘ 𝑍 ) )
10 eqid ( Base ‘ 𝑍 ) = ( Base ‘ 𝑍 )
11 eqid ( +g𝑍 ) = ( +g𝑍 )
12 3 simpri ring = ( Scalar ‘ 𝑍 )
13 eqid ( ·𝑠𝑍 ) = ( ·𝑠𝑍 )
14 eqid ( invg ‘ ℤring ) = ( invg ‘ ℤring )
15 zring1 1 = ( 1r ‘ ℤring )
16 10 11 2 12 13 14 15 lmodvsubval2 ( ( 𝑍 ∈ LMod ∧ { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } ∈ ( Base ‘ 𝑍 ) ∧ { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ∈ ( Base ‘ 𝑍 ) ) → ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) = ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } ( +g𝑍 ) ( ( ( invg ‘ ℤring ) ‘ 1 ) ( ·𝑠𝑍 ) { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) ) )
17 5 7 9 16 syl3anc ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) = ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } ( +g𝑍 ) ( ( ( invg ‘ ℤring ) ‘ 1 ) ( ·𝑠𝑍 ) { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) ) )
18 1z 1 ∈ ℤ
19 zringinvg ( 1 ∈ ℤ → - 1 = ( ( invg ‘ ℤring ) ‘ 1 ) )
20 18 19 mp1i ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → - 1 = ( ( invg ‘ ℤring ) ‘ 1 ) )
21 20 eqcomd ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → ( ( invg ‘ ℤring ) ‘ 1 ) = - 1 )
22 21 oveq1d ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → ( ( ( invg ‘ ℤring ) ‘ 1 ) ( ·𝑠𝑍 ) { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) = ( - 1 ( ·𝑠𝑍 ) { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) )
23 22 oveq2d ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } ( +g𝑍 ) ( ( ( invg ‘ ℤring ) ‘ 1 ) ( ·𝑠𝑍 ) { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) ) = ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } ( +g𝑍 ) ( - 1 ( ·𝑠𝑍 ) { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) ) )
24 17 23 eqtrd ( ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ) → ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) = ( { ⟨ 0 , 𝐴 ⟩ , ⟨ 1 , 𝐶 ⟩ } ( +g𝑍 ) ( - 1 ( ·𝑠𝑍 ) { ⟨ 0 , 𝐵 ⟩ , ⟨ 1 , 𝐷 ⟩ } ) ) )