Metamath Proof Explorer


Theorem pjpjpre

Description: Decomposition of a vector into projections. This formulation of axpjpj avoids pjhth . (Contributed by Mario Carneiro, 15-May-2014) (New usage is discouraged.)

Ref Expression
Hypotheses pjpjpre.1 ( 𝜑𝐻C )
pjpjpre.2 ( 𝜑𝐴 ∈ ( 𝐻 + ( ⊥ ‘ 𝐻 ) ) )
Assertion pjpjpre ( 𝜑𝐴 = ( ( ( proj𝐻 ) ‘ 𝐴 ) + ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) ) )

Proof

Step Hyp Ref Expression
1 pjpjpre.1 ( 𝜑𝐻C )
2 pjpjpre.2 ( 𝜑𝐴 ∈ ( 𝐻 + ( ⊥ ‘ 𝐻 ) ) )
3 chsh ( 𝐻C𝐻S )
4 1 3 syl ( 𝜑𝐻S )
5 shocsh ( 𝐻S → ( ⊥ ‘ 𝐻 ) ∈ S )
6 4 5 syl ( 𝜑 → ( ⊥ ‘ 𝐻 ) ∈ S )
7 shsel ( ( 𝐻S ∧ ( ⊥ ‘ 𝐻 ) ∈ S ) → ( 𝐴 ∈ ( 𝐻 + ( ⊥ ‘ 𝐻 ) ) ↔ ∃ 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) 𝐴 = ( 𝑥 + 𝑦 ) ) )
8 4 6 7 syl2anc ( 𝜑 → ( 𝐴 ∈ ( 𝐻 + ( ⊥ ‘ 𝐻 ) ) ↔ ∃ 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) 𝐴 = ( 𝑥 + 𝑦 ) ) )
9 2 8 mpbid ( 𝜑 → ∃ 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) 𝐴 = ( 𝑥 + 𝑦 ) )
10 simprr ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝐴 = ( 𝑥 + 𝑦 ) )
11 simprll ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝑥𝐻 )
12 simprlr ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝑦 ∈ ( ⊥ ‘ 𝐻 ) )
13 rspe ( ( 𝑦 ∈ ( ⊥ ‘ 𝐻 ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) → ∃ 𝑦 ∈ ( ⊥ ‘ 𝐻 ) 𝐴 = ( 𝑥 + 𝑦 ) )
14 12 10 13 syl2anc ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → ∃ 𝑦 ∈ ( ⊥ ‘ 𝐻 ) 𝐴 = ( 𝑥 + 𝑦 ) )
15 pjpreeq ( ( 𝐻C𝐴 ∈ ( 𝐻 + ( ⊥ ‘ 𝐻 ) ) ) → ( ( ( proj𝐻 ) ‘ 𝐴 ) = 𝑥 ↔ ( 𝑥𝐻 ∧ ∃ 𝑦 ∈ ( ⊥ ‘ 𝐻 ) 𝐴 = ( 𝑥 + 𝑦 ) ) ) )
16 1 2 15 syl2anc ( 𝜑 → ( ( ( proj𝐻 ) ‘ 𝐴 ) = 𝑥 ↔ ( 𝑥𝐻 ∧ ∃ 𝑦 ∈ ( ⊥ ‘ 𝐻 ) 𝐴 = ( 𝑥 + 𝑦 ) ) ) )
17 16 adantr ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → ( ( ( proj𝐻 ) ‘ 𝐴 ) = 𝑥 ↔ ( 𝑥𝐻 ∧ ∃ 𝑦 ∈ ( ⊥ ‘ 𝐻 ) 𝐴 = ( 𝑥 + 𝑦 ) ) ) )
18 11 14 17 mpbir2and ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → ( ( proj𝐻 ) ‘ 𝐴 ) = 𝑥 )
19 shococss ( 𝐻S𝐻 ⊆ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) )
20 4 19 syl ( 𝜑𝐻 ⊆ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) )
21 20 adantr ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝐻 ⊆ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) )
22 21 11 sseldd ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝑥 ∈ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) )
23 1 adantr ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝐻C )
24 23 3 syl ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝐻S )
25 shel ( ( 𝐻S𝑥𝐻 ) → 𝑥 ∈ ℋ )
26 24 11 25 syl2anc ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝑥 ∈ ℋ )
27 24 5 syl ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → ( ⊥ ‘ 𝐻 ) ∈ S )
28 shel ( ( ( ⊥ ‘ 𝐻 ) ∈ S𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) → 𝑦 ∈ ℋ )
29 27 12 28 syl2anc ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝑦 ∈ ℋ )
30 ax-hvcom ( ( 𝑥 ∈ ℋ ∧ 𝑦 ∈ ℋ ) → ( 𝑥 + 𝑦 ) = ( 𝑦 + 𝑥 ) )
31 26 29 30 syl2anc ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → ( 𝑥 + 𝑦 ) = ( 𝑦 + 𝑥 ) )
32 10 31 eqtrd ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝐴 = ( 𝑦 + 𝑥 ) )
33 rspe ( ( 𝑥 ∈ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑦 + 𝑥 ) ) → ∃ 𝑥 ∈ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) 𝐴 = ( 𝑦 + 𝑥 ) )
34 22 32 33 syl2anc ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → ∃ 𝑥 ∈ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) 𝐴 = ( 𝑦 + 𝑥 ) )
35 choccl ( 𝐻C → ( ⊥ ‘ 𝐻 ) ∈ C )
36 1 35 syl ( 𝜑 → ( ⊥ ‘ 𝐻 ) ∈ C )
37 shocsh ( ( ⊥ ‘ 𝐻 ) ∈ S → ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ∈ S )
38 6 37 syl ( 𝜑 → ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ∈ S )
39 shless ( ( ( 𝐻S ∧ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ∈ S ∧ ( ⊥ ‘ 𝐻 ) ∈ S ) ∧ 𝐻 ⊆ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ) → ( 𝐻 + ( ⊥ ‘ 𝐻 ) ) ⊆ ( ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) + ( ⊥ ‘ 𝐻 ) ) )
40 4 38 6 20 39 syl31anc ( 𝜑 → ( 𝐻 + ( ⊥ ‘ 𝐻 ) ) ⊆ ( ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) + ( ⊥ ‘ 𝐻 ) ) )
41 shscom ( ( ( ⊥ ‘ 𝐻 ) ∈ S ∧ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ∈ S ) → ( ( ⊥ ‘ 𝐻 ) + ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ) = ( ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) + ( ⊥ ‘ 𝐻 ) ) )
42 6 38 41 syl2anc ( 𝜑 → ( ( ⊥ ‘ 𝐻 ) + ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ) = ( ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) + ( ⊥ ‘ 𝐻 ) ) )
43 40 42 sseqtrrd ( 𝜑 → ( 𝐻 + ( ⊥ ‘ 𝐻 ) ) ⊆ ( ( ⊥ ‘ 𝐻 ) + ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ) )
44 43 2 sseldd ( 𝜑𝐴 ∈ ( ( ⊥ ‘ 𝐻 ) + ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ) )
45 pjpreeq ( ( ( ⊥ ‘ 𝐻 ) ∈ C𝐴 ∈ ( ( ⊥ ‘ 𝐻 ) + ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) ) ) → ( ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) = 𝑦 ↔ ( 𝑦 ∈ ( ⊥ ‘ 𝐻 ) ∧ ∃ 𝑥 ∈ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) 𝐴 = ( 𝑦 + 𝑥 ) ) ) )
46 36 44 45 syl2anc ( 𝜑 → ( ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) = 𝑦 ↔ ( 𝑦 ∈ ( ⊥ ‘ 𝐻 ) ∧ ∃ 𝑥 ∈ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) 𝐴 = ( 𝑦 + 𝑥 ) ) ) )
47 46 adantr ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → ( ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) = 𝑦 ↔ ( 𝑦 ∈ ( ⊥ ‘ 𝐻 ) ∧ ∃ 𝑥 ∈ ( ⊥ ‘ ( ⊥ ‘ 𝐻 ) ) 𝐴 = ( 𝑦 + 𝑥 ) ) ) )
48 12 34 47 mpbir2and ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) = 𝑦 )
49 18 48 oveq12d ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → ( ( ( proj𝐻 ) ‘ 𝐴 ) + ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) ) = ( 𝑥 + 𝑦 ) )
50 10 49 eqtr4d ( ( 𝜑 ∧ ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) ∧ 𝐴 = ( 𝑥 + 𝑦 ) ) ) → 𝐴 = ( ( ( proj𝐻 ) ‘ 𝐴 ) + ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) ) )
51 50 exp32 ( 𝜑 → ( ( 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) ) → ( 𝐴 = ( 𝑥 + 𝑦 ) → 𝐴 = ( ( ( proj𝐻 ) ‘ 𝐴 ) + ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) ) ) ) )
52 51 rexlimdvv ( 𝜑 → ( ∃ 𝑥𝐻𝑦 ∈ ( ⊥ ‘ 𝐻 ) 𝐴 = ( 𝑥 + 𝑦 ) → 𝐴 = ( ( ( proj𝐻 ) ‘ 𝐴 ) + ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) ) ) )
53 9 52 mpd ( 𝜑𝐴 = ( ( ( proj𝐻 ) ‘ 𝐴 ) + ( ( proj ‘ ( ⊥ ‘ 𝐻 ) ) ‘ 𝐴 ) ) )