Metamath Proof Explorer


Theorem bj-isclm

Description: The predicate "is a subcomplex module". (Contributed by BJ, 6-Jan-2024)

Ref Expression
Hypotheses bj-isclm.scal ( 𝜑𝐹 = ( Scalar ‘ 𝑊 ) )
bj-isclm.base ( 𝜑𝐾 = ( Base ‘ 𝐹 ) )
Assertion bj-isclm ( 𝜑 → ( 𝑊 ∈ ℂMod ↔ ( 𝑊 ∈ LMod ∧ 𝐹 = ( ℂflds 𝐾 ) ∧ 𝐾 ∈ ( SubRing ‘ ℂfld ) ) ) )

Proof

Step Hyp Ref Expression
1 bj-isclm.scal ( 𝜑𝐹 = ( Scalar ‘ 𝑊 ) )
2 bj-isclm.base ( 𝜑𝐾 = ( Base ‘ 𝐹 ) )
3 eqid ( Scalar ‘ 𝑊 ) = ( Scalar ‘ 𝑊 )
4 eqid ( Base ‘ ( Scalar ‘ 𝑊 ) ) = ( Base ‘ ( Scalar ‘ 𝑊 ) )
5 3 4 isclm ( 𝑊 ∈ ℂMod ↔ ( 𝑊 ∈ LMod ∧ ( Scalar ‘ 𝑊 ) = ( ℂflds ( Base ‘ ( Scalar ‘ 𝑊 ) ) ) ∧ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∈ ( SubRing ‘ ℂfld ) ) )
6 1 eqcomd ( 𝜑 → ( Scalar ‘ 𝑊 ) = 𝐹 )
7 fveq2 ( 𝐹 = ( Scalar ‘ 𝑊 ) → ( Base ‘ 𝐹 ) = ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
8 eqtr ( ( 𝐾 = ( Base ‘ 𝐹 ) ∧ ( Base ‘ 𝐹 ) = ( Base ‘ ( Scalar ‘ 𝑊 ) ) ) → 𝐾 = ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
9 8 eqcomd ( ( 𝐾 = ( Base ‘ 𝐹 ) ∧ ( Base ‘ 𝐹 ) = ( Base ‘ ( Scalar ‘ 𝑊 ) ) ) → ( Base ‘ ( Scalar ‘ 𝑊 ) ) = 𝐾 )
10 9 ex ( 𝐾 = ( Base ‘ 𝐹 ) → ( ( Base ‘ 𝐹 ) = ( Base ‘ ( Scalar ‘ 𝑊 ) ) → ( Base ‘ ( Scalar ‘ 𝑊 ) ) = 𝐾 ) )
11 2 7 10 syl2im ( 𝜑 → ( 𝐹 = ( Scalar ‘ 𝑊 ) → ( Base ‘ ( Scalar ‘ 𝑊 ) ) = 𝐾 ) )
12 1 11 mpd ( 𝜑 → ( Base ‘ ( Scalar ‘ 𝑊 ) ) = 𝐾 )
13 12 oveq2d ( 𝜑 → ( ℂflds ( Base ‘ ( Scalar ‘ 𝑊 ) ) ) = ( ℂflds 𝐾 ) )
14 6 13 eqeq12d ( 𝜑 → ( ( Scalar ‘ 𝑊 ) = ( ℂflds ( Base ‘ ( Scalar ‘ 𝑊 ) ) ) ↔ 𝐹 = ( ℂflds 𝐾 ) ) )
15 12 eleq1d ( 𝜑 → ( ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∈ ( SubRing ‘ ℂfld ) ↔ 𝐾 ∈ ( SubRing ‘ ℂfld ) ) )
16 14 15 3anbi23d ( 𝜑 → ( ( 𝑊 ∈ LMod ∧ ( Scalar ‘ 𝑊 ) = ( ℂflds ( Base ‘ ( Scalar ‘ 𝑊 ) ) ) ∧ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∈ ( SubRing ‘ ℂfld ) ) ↔ ( 𝑊 ∈ LMod ∧ 𝐹 = ( ℂflds 𝐾 ) ∧ 𝐾 ∈ ( SubRing ‘ ℂfld ) ) ) )
17 5 16 syl5bb ( 𝜑 → ( 𝑊 ∈ ℂMod ↔ ( 𝑊 ∈ LMod ∧ 𝐹 = ( ℂflds 𝐾 ) ∧ 𝐾 ∈ ( SubRing ‘ ℂfld ) ) ) )