Metamath Proof Explorer


Theorem dsmmacl

Description: The finite hull is closed under addition. (Contributed by Stefan O'Rear, 11-Jan-2015)

Ref Expression
Hypotheses dsmmcl.p 𝑃 = ( 𝑆 Xs 𝑅 )
dsmmcl.h 𝐻 = ( Base ‘ ( 𝑆m 𝑅 ) )
dsmmcl.i ( 𝜑𝐼𝑊 )
dsmmcl.s ( 𝜑𝑆𝑉 )
dsmmcl.r ( 𝜑𝑅 : 𝐼 ⟶ Mnd )
dsmmacl.j ( 𝜑𝐽𝐻 )
dsmmacl.k ( 𝜑𝐾𝐻 )
dsmmacl.a + = ( +g𝑃 )
Assertion dsmmacl ( 𝜑 → ( 𝐽 + 𝐾 ) ∈ 𝐻 )

Proof

Step Hyp Ref Expression
1 dsmmcl.p 𝑃 = ( 𝑆 Xs 𝑅 )
2 dsmmcl.h 𝐻 = ( Base ‘ ( 𝑆m 𝑅 ) )
3 dsmmcl.i ( 𝜑𝐼𝑊 )
4 dsmmcl.s ( 𝜑𝑆𝑉 )
5 dsmmcl.r ( 𝜑𝑅 : 𝐼 ⟶ Mnd )
6 dsmmacl.j ( 𝜑𝐽𝐻 )
7 dsmmacl.k ( 𝜑𝐾𝐻 )
8 dsmmacl.a + = ( +g𝑃 )
9 eqid ( Base ‘ 𝑃 ) = ( Base ‘ 𝑃 )
10 eqid ( 𝑆m 𝑅 ) = ( 𝑆m 𝑅 )
11 5 ffnd ( 𝜑𝑅 Fn 𝐼 )
12 1 10 9 2 3 11 dsmmelbas ( 𝜑 → ( 𝐽𝐻 ↔ ( 𝐽 ∈ ( Base ‘ 𝑃 ) ∧ { 𝑎𝐼 ∣ ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin ) ) )
13 6 12 mpbid ( 𝜑 → ( 𝐽 ∈ ( Base ‘ 𝑃 ) ∧ { 𝑎𝐼 ∣ ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin ) )
14 13 simpld ( 𝜑𝐽 ∈ ( Base ‘ 𝑃 ) )
15 1 10 9 2 3 11 dsmmelbas ( 𝜑 → ( 𝐾𝐻 ↔ ( 𝐾 ∈ ( Base ‘ 𝑃 ) ∧ { 𝑎𝐼 ∣ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin ) ) )
16 7 15 mpbid ( 𝜑 → ( 𝐾 ∈ ( Base ‘ 𝑃 ) ∧ { 𝑎𝐼 ∣ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin ) )
17 16 simpld ( 𝜑𝐾 ∈ ( Base ‘ 𝑃 ) )
18 1 9 8 4 3 5 14 17 prdsplusgcl ( 𝜑 → ( 𝐽 + 𝐾 ) ∈ ( Base ‘ 𝑃 ) )
19 4 adantr ( ( 𝜑𝑎𝐼 ) → 𝑆𝑉 )
20 3 adantr ( ( 𝜑𝑎𝐼 ) → 𝐼𝑊 )
21 11 adantr ( ( 𝜑𝑎𝐼 ) → 𝑅 Fn 𝐼 )
22 14 adantr ( ( 𝜑𝑎𝐼 ) → 𝐽 ∈ ( Base ‘ 𝑃 ) )
23 17 adantr ( ( 𝜑𝑎𝐼 ) → 𝐾 ∈ ( Base ‘ 𝑃 ) )
24 simpr ( ( 𝜑𝑎𝐼 ) → 𝑎𝐼 )
25 1 9 19 20 21 22 23 8 24 prdsplusgfval ( ( 𝜑𝑎𝐼 ) → ( ( 𝐽 + 𝐾 ) ‘ 𝑎 ) = ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) )
26 25 neeq1d ( ( 𝜑𝑎𝐼 ) → ( ( ( 𝐽 + 𝐾 ) ‘ 𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ↔ ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ) )
27 26 rabbidva ( 𝜑 → { 𝑎𝐼 ∣ ( ( 𝐽 + 𝐾 ) ‘ 𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } = { 𝑎𝐼 ∣ ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } )
28 13 simprd ( 𝜑 → { 𝑎𝐼 ∣ ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin )
29 16 simprd ( 𝜑 → { 𝑎𝐼 ∣ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin )
30 unfi ( ( { 𝑎𝐼 ∣ ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin ∧ { 𝑎𝐼 ∣ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin ) → ( { 𝑎𝐼 ∣ ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∪ { 𝑎𝐼 ∣ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ) ∈ Fin )
31 28 29 30 syl2anc ( 𝜑 → ( { 𝑎𝐼 ∣ ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∪ { 𝑎𝐼 ∣ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ) ∈ Fin )
32 neorian ( ( ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ∨ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ) ↔ ¬ ( ( 𝐽𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ∧ ( 𝐾𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ) )
33 32 bicomi ( ¬ ( ( 𝐽𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ∧ ( 𝐾𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ) ↔ ( ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ∨ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ) )
34 33 con1bii ( ¬ ( ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ∨ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ) ↔ ( ( 𝐽𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ∧ ( 𝐾𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ) )
35 5 ffvelrnda ( ( 𝜑𝑎𝐼 ) → ( 𝑅𝑎 ) ∈ Mnd )
36 eqid ( Base ‘ ( 𝑅𝑎 ) ) = ( Base ‘ ( 𝑅𝑎 ) )
37 eqid ( 0g ‘ ( 𝑅𝑎 ) ) = ( 0g ‘ ( 𝑅𝑎 ) )
38 36 37 mndidcl ( ( 𝑅𝑎 ) ∈ Mnd → ( 0g ‘ ( 𝑅𝑎 ) ) ∈ ( Base ‘ ( 𝑅𝑎 ) ) )
39 eqid ( +g ‘ ( 𝑅𝑎 ) ) = ( +g ‘ ( 𝑅𝑎 ) )
40 36 39 37 mndlid ( ( ( 𝑅𝑎 ) ∈ Mnd ∧ ( 0g ‘ ( 𝑅𝑎 ) ) ∈ ( Base ‘ ( 𝑅𝑎 ) ) ) → ( ( 0g ‘ ( 𝑅𝑎 ) ) ( +g ‘ ( 𝑅𝑎 ) ) ( 0g ‘ ( 𝑅𝑎 ) ) ) = ( 0g ‘ ( 𝑅𝑎 ) ) )
41 35 38 40 syl2anc2 ( ( 𝜑𝑎𝐼 ) → ( ( 0g ‘ ( 𝑅𝑎 ) ) ( +g ‘ ( 𝑅𝑎 ) ) ( 0g ‘ ( 𝑅𝑎 ) ) ) = ( 0g ‘ ( 𝑅𝑎 ) ) )
42 oveq12 ( ( ( 𝐽𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ∧ ( 𝐾𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ) → ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) = ( ( 0g ‘ ( 𝑅𝑎 ) ) ( +g ‘ ( 𝑅𝑎 ) ) ( 0g ‘ ( 𝑅𝑎 ) ) ) )
43 42 eqeq1d ( ( ( 𝐽𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ∧ ( 𝐾𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ) → ( ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) = ( 0g ‘ ( 𝑅𝑎 ) ) ↔ ( ( 0g ‘ ( 𝑅𝑎 ) ) ( +g ‘ ( 𝑅𝑎 ) ) ( 0g ‘ ( 𝑅𝑎 ) ) ) = ( 0g ‘ ( 𝑅𝑎 ) ) ) )
44 41 43 syl5ibrcom ( ( 𝜑𝑎𝐼 ) → ( ( ( 𝐽𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ∧ ( 𝐾𝑎 ) = ( 0g ‘ ( 𝑅𝑎 ) ) ) → ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) = ( 0g ‘ ( 𝑅𝑎 ) ) ) )
45 34 44 syl5bi ( ( 𝜑𝑎𝐼 ) → ( ¬ ( ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ∨ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ) → ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) = ( 0g ‘ ( 𝑅𝑎 ) ) ) )
46 45 necon1ad ( ( 𝜑𝑎𝐼 ) → ( ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) → ( ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ∨ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ) ) )
47 46 ss2rabdv ( 𝜑 → { 𝑎𝐼 ∣ ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ⊆ { 𝑎𝐼 ∣ ( ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ∨ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ) } )
48 unrab ( { 𝑎𝐼 ∣ ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∪ { 𝑎𝐼 ∣ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ) = { 𝑎𝐼 ∣ ( ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ∨ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) ) }
49 47 48 sseqtrrdi ( 𝜑 → { 𝑎𝐼 ∣ ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ⊆ ( { 𝑎𝐼 ∣ ( 𝐽𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∪ { 𝑎𝐼 ∣ ( 𝐾𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ) )
50 31 49 ssfid ( 𝜑 → { 𝑎𝐼 ∣ ( ( 𝐽𝑎 ) ( +g ‘ ( 𝑅𝑎 ) ) ( 𝐾𝑎 ) ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin )
51 27 50 eqeltrd ( 𝜑 → { 𝑎𝐼 ∣ ( ( 𝐽 + 𝐾 ) ‘ 𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin )
52 1 10 9 2 3 11 dsmmelbas ( 𝜑 → ( ( 𝐽 + 𝐾 ) ∈ 𝐻 ↔ ( ( 𝐽 + 𝐾 ) ∈ ( Base ‘ 𝑃 ) ∧ { 𝑎𝐼 ∣ ( ( 𝐽 + 𝐾 ) ‘ 𝑎 ) ≠ ( 0g ‘ ( 𝑅𝑎 ) ) } ∈ Fin ) ) )
53 18 51 52 mpbir2and ( 𝜑 → ( 𝐽 + 𝐾 ) ∈ 𝐻 )