Metamath Proof Explorer


Theorem shmodsi

Description: The modular law holds for subspace sum. Similar to part of Theorem 16.9 of MaedaMaeda p. 70. (Contributed by NM, 23-Nov-2004) (New usage is discouraged.)

Ref Expression
Hypotheses shmod.1 𝐴S
shmod.2 𝐵S
shmod.3 𝐶S
Assertion shmodsi ( 𝐴𝐶 → ( ( 𝐴 + 𝐵 ) ∩ 𝐶 ) ⊆ ( 𝐴 + ( 𝐵𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 shmod.1 𝐴S
2 shmod.2 𝐵S
3 shmod.3 𝐶S
4 elin ( 𝑧 ∈ ( ( 𝐴 + 𝐵 ) ∩ 𝐶 ) ↔ ( 𝑧 ∈ ( 𝐴 + 𝐵 ) ∧ 𝑧𝐶 ) )
5 1 2 shseli ( 𝑧 ∈ ( 𝐴 + 𝐵 ) ↔ ∃ 𝑥𝐴𝑦𝐵 𝑧 = ( 𝑥 + 𝑦 ) )
6 3 sheli ( 𝑧𝐶𝑧 ∈ ℋ )
7 1 sheli ( 𝑥𝐴𝑥 ∈ ℋ )
8 2 sheli ( 𝑦𝐵𝑦 ∈ ℋ )
9 hvsubadd ( ( 𝑧 ∈ ℋ ∧ 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( ( 𝑧 𝑥 ) = 𝑦 ↔ ( 𝑥 + 𝑦 ) = 𝑧 ) )
10 6 7 8 9 syl3an ( ( 𝑧𝐶𝑥𝐴𝑦𝐵 ) → ( ( 𝑧 𝑥 ) = 𝑦 ↔ ( 𝑥 + 𝑦 ) = 𝑧 ) )
11 eqcom ( ( 𝑥 + 𝑦 ) = 𝑧𝑧 = ( 𝑥 + 𝑦 ) )
12 10 11 bitrdi ( ( 𝑧𝐶𝑥𝐴𝑦𝐵 ) → ( ( 𝑧 𝑥 ) = 𝑦𝑧 = ( 𝑥 + 𝑦 ) ) )
13 12 3expb ( ( 𝑧𝐶 ∧ ( 𝑥𝐴𝑦𝐵 ) ) → ( ( 𝑧 𝑥 ) = 𝑦𝑧 = ( 𝑥 + 𝑦 ) ) )
14 3 1 shsvsi ( ( 𝑧𝐶𝑥𝐴 ) → ( 𝑧 𝑥 ) ∈ ( 𝐶 + 𝐴 ) )
15 3 1 shscomi ( 𝐶 + 𝐴 ) = ( 𝐴 + 𝐶 )
16 14 15 eleqtrdi ( ( 𝑧𝐶𝑥𝐴 ) → ( 𝑧 𝑥 ) ∈ ( 𝐴 + 𝐶 ) )
17 1 3 shlesb1i ( 𝐴𝐶 ↔ ( 𝐴 + 𝐶 ) = 𝐶 )
18 17 biimpi ( 𝐴𝐶 → ( 𝐴 + 𝐶 ) = 𝐶 )
19 18 eleq2d ( 𝐴𝐶 → ( ( 𝑧 𝑥 ) ∈ ( 𝐴 + 𝐶 ) ↔ ( 𝑧 𝑥 ) ∈ 𝐶 ) )
20 16 19 syl5ib ( 𝐴𝐶 → ( ( 𝑧𝐶𝑥𝐴 ) → ( 𝑧 𝑥 ) ∈ 𝐶 ) )
21 eleq1 ( ( 𝑧 𝑥 ) = 𝑦 → ( ( 𝑧 𝑥 ) ∈ 𝐶𝑦𝐶 ) )
22 21 biimpd ( ( 𝑧 𝑥 ) = 𝑦 → ( ( 𝑧 𝑥 ) ∈ 𝐶𝑦𝐶 ) )
23 20 22 sylan9 ( ( 𝐴𝐶 ∧ ( 𝑧 𝑥 ) = 𝑦 ) → ( ( 𝑧𝐶𝑥𝐴 ) → 𝑦𝐶 ) )
24 23 anim2d ( ( 𝐴𝐶 ∧ ( 𝑧 𝑥 ) = 𝑦 ) → ( ( 𝑦𝐵 ∧ ( 𝑧𝐶𝑥𝐴 ) ) → ( 𝑦𝐵𝑦𝐶 ) ) )
25 elin ( 𝑦 ∈ ( 𝐵𝐶 ) ↔ ( 𝑦𝐵𝑦𝐶 ) )
26 24 25 syl6ibr ( ( 𝐴𝐶 ∧ ( 𝑧 𝑥 ) = 𝑦 ) → ( ( 𝑦𝐵 ∧ ( 𝑧𝐶𝑥𝐴 ) ) → 𝑦 ∈ ( 𝐵𝐶 ) ) )
27 26 ex ( 𝐴𝐶 → ( ( 𝑧 𝑥 ) = 𝑦 → ( ( 𝑦𝐵 ∧ ( 𝑧𝐶𝑥𝐴 ) ) → 𝑦 ∈ ( 𝐵𝐶 ) ) ) )
28 27 com13 ( ( 𝑦𝐵 ∧ ( 𝑧𝐶𝑥𝐴 ) ) → ( ( 𝑧 𝑥 ) = 𝑦 → ( 𝐴𝐶𝑦 ∈ ( 𝐵𝐶 ) ) ) )
29 28 ancoms ( ( ( 𝑧𝐶𝑥𝐴 ) ∧ 𝑦𝐵 ) → ( ( 𝑧 𝑥 ) = 𝑦 → ( 𝐴𝐶𝑦 ∈ ( 𝐵𝐶 ) ) ) )
30 29 anasss ( ( 𝑧𝐶 ∧ ( 𝑥𝐴𝑦𝐵 ) ) → ( ( 𝑧 𝑥 ) = 𝑦 → ( 𝐴𝐶𝑦 ∈ ( 𝐵𝐶 ) ) ) )
31 13 30 sylbird ( ( 𝑧𝐶 ∧ ( 𝑥𝐴𝑦𝐵 ) ) → ( 𝑧 = ( 𝑥 + 𝑦 ) → ( 𝐴𝐶𝑦 ∈ ( 𝐵𝐶 ) ) ) )
32 31 imp ( ( ( 𝑧𝐶 ∧ ( 𝑥𝐴𝑦𝐵 ) ) ∧ 𝑧 = ( 𝑥 + 𝑦 ) ) → ( 𝐴𝐶𝑦 ∈ ( 𝐵𝐶 ) ) )
33 2 3 shincli ( 𝐵𝐶 ) ∈ S
34 1 33 shsvai ( ( 𝑥𝐴𝑦 ∈ ( 𝐵𝐶 ) ) → ( 𝑥 + 𝑦 ) ∈ ( 𝐴 + ( 𝐵𝐶 ) ) )
35 eleq1 ( 𝑧 = ( 𝑥 + 𝑦 ) → ( 𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ↔ ( 𝑥 + 𝑦 ) ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) )
36 34 35 syl5ibr ( 𝑧 = ( 𝑥 + 𝑦 ) → ( ( 𝑥𝐴𝑦 ∈ ( 𝐵𝐶 ) ) → 𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) )
37 36 expd ( 𝑧 = ( 𝑥 + 𝑦 ) → ( 𝑥𝐴 → ( 𝑦 ∈ ( 𝐵𝐶 ) → 𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) ) )
38 37 com12 ( 𝑥𝐴 → ( 𝑧 = ( 𝑥 + 𝑦 ) → ( 𝑦 ∈ ( 𝐵𝐶 ) → 𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) ) )
39 38 ad2antrl ( ( 𝑧𝐶 ∧ ( 𝑥𝐴𝑦𝐵 ) ) → ( 𝑧 = ( 𝑥 + 𝑦 ) → ( 𝑦 ∈ ( 𝐵𝐶 ) → 𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) ) )
40 39 imp ( ( ( 𝑧𝐶 ∧ ( 𝑥𝐴𝑦𝐵 ) ) ∧ 𝑧 = ( 𝑥 + 𝑦 ) ) → ( 𝑦 ∈ ( 𝐵𝐶 ) → 𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) )
41 32 40 syld ( ( ( 𝑧𝐶 ∧ ( 𝑥𝐴𝑦𝐵 ) ) ∧ 𝑧 = ( 𝑥 + 𝑦 ) ) → ( 𝐴𝐶𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) )
42 41 exp31 ( 𝑧𝐶 → ( ( 𝑥𝐴𝑦𝐵 ) → ( 𝑧 = ( 𝑥 + 𝑦 ) → ( 𝐴𝐶𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) ) ) )
43 42 rexlimdvv ( 𝑧𝐶 → ( ∃ 𝑥𝐴𝑦𝐵 𝑧 = ( 𝑥 + 𝑦 ) → ( 𝐴𝐶𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) ) )
44 5 43 syl5bi ( 𝑧𝐶 → ( 𝑧 ∈ ( 𝐴 + 𝐵 ) → ( 𝐴𝐶𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) ) )
45 44 com13 ( 𝐴𝐶 → ( 𝑧 ∈ ( 𝐴 + 𝐵 ) → ( 𝑧𝐶𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) ) )
46 45 impd ( 𝐴𝐶 → ( ( 𝑧 ∈ ( 𝐴 + 𝐵 ) ∧ 𝑧𝐶 ) → 𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) )
47 4 46 syl5bi ( 𝐴𝐶 → ( 𝑧 ∈ ( ( 𝐴 + 𝐵 ) ∩ 𝐶 ) → 𝑧 ∈ ( 𝐴 + ( 𝐵𝐶 ) ) ) )
48 47 ssrdv ( 𝐴𝐶 → ( ( 𝐴 + 𝐵 ) ∩ 𝐶 ) ⊆ ( 𝐴 + ( 𝐵𝐶 ) ) )