Metamath Proof Explorer


Theorem pjnormssi

Description: Theorem 4.5(i)<->(vi) of Beran p. 112. (Contributed by NM, 26-Sep-2001) (New usage is discouraged.)

Ref Expression
Hypotheses pjco.1 𝐺C
pjco.2 𝐻C
Assertion pjnormssi ( 𝐺𝐻 ↔ ∀ 𝑥 ∈ ℋ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) )

Proof

Step Hyp Ref Expression
1 pjco.1 𝐺C
2 pjco.2 𝐻C
3 2 1 pjssmi ( 𝑥 ∈ ℋ → ( 𝐺𝐻 → ( ( ( proj𝐻 ) ‘ 𝑥 ) − ( ( proj𝐺 ) ‘ 𝑥 ) ) = ( ( proj ‘ ( 𝐻 ∩ ( ⊥ ‘ 𝐺 ) ) ) ‘ 𝑥 ) ) )
4 2 1 pjssge0i ( 𝑥 ∈ ℋ → ( ( ( ( proj𝐻 ) ‘ 𝑥 ) − ( ( proj𝐺 ) ‘ 𝑥 ) ) = ( ( proj ‘ ( 𝐻 ∩ ( ⊥ ‘ 𝐺 ) ) ) ‘ 𝑥 ) → 0 ≤ ( ( ( ( proj𝐻 ) ‘ 𝑥 ) − ( ( proj𝐺 ) ‘ 𝑥 ) ) ·ih 𝑥 ) ) )
5 3 4 syld ( 𝑥 ∈ ℋ → ( 𝐺𝐻 → 0 ≤ ( ( ( ( proj𝐻 ) ‘ 𝑥 ) − ( ( proj𝐺 ) ‘ 𝑥 ) ) ·ih 𝑥 ) ) )
6 2 1 pjdifnormi ( 𝑥 ∈ ℋ → ( 0 ≤ ( ( ( ( proj𝐻 ) ‘ 𝑥 ) − ( ( proj𝐺 ) ‘ 𝑥 ) ) ·ih 𝑥 ) ↔ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) )
7 5 6 sylibd ( 𝑥 ∈ ℋ → ( 𝐺𝐻 → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) )
8 7 com12 ( 𝐺𝐻 → ( 𝑥 ∈ ℋ → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) )
9 8 ralrimiv ( 𝐺𝐻 → ∀ 𝑥 ∈ ℋ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) )
10 2 choccli ( ⊥ ‘ 𝐻 ) ∈ C
11 10 cheli ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) → 𝑥 ∈ ℋ )
12 breq2 ( ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) = 0 → ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ↔ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ 0 ) )
13 12 biimpac ( ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ∧ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) = 0 ) → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ 0 )
14 1 pjhcli ( 𝑥 ∈ ℋ → ( ( proj𝐺 ) ‘ 𝑥 ) ∈ ℋ )
15 normge0 ( ( ( proj𝐺 ) ‘ 𝑥 ) ∈ ℋ → 0 ≤ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) )
16 14 15 syl ( 𝑥 ∈ ℋ → 0 ≤ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) )
17 normcl ( ( ( proj𝐺 ) ‘ 𝑥 ) ∈ ℋ → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ∈ ℝ )
18 14 17 syl ( 𝑥 ∈ ℋ → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ∈ ℝ )
19 0re 0 ∈ ℝ
20 letri3 ( ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ∈ ℝ ∧ 0 ∈ ℝ ) → ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 ↔ ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ 0 ∧ 0 ≤ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ) ) )
21 20 biimprd ( ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ∈ ℝ ∧ 0 ∈ ℝ ) → ( ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ 0 ∧ 0 ≤ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ) → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 ) )
22 18 19 21 sylancl ( 𝑥 ∈ ℋ → ( ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ 0 ∧ 0 ≤ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ) → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 ) )
23 16 22 sylan2i ( 𝑥 ∈ ℋ → ( ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ 0 ∧ 𝑥 ∈ ℋ ) → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 ) )
24 23 anabsi6 ( ( 𝑥 ∈ ℋ ∧ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ 0 ) → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 )
25 13 24 sylan2 ( ( 𝑥 ∈ ℋ ∧ ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ∧ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) = 0 ) ) → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 )
26 25 expr ( ( 𝑥 ∈ ℋ ∧ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) → ( ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) = 0 → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 ) )
27 2 pjhcli ( 𝑥 ∈ ℋ → ( ( proj𝐻 ) ‘ 𝑥 ) ∈ ℋ )
28 norm-i ( ( ( proj𝐻 ) ‘ 𝑥 ) ∈ ℋ → ( ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) = 0 ↔ ( ( proj𝐻 ) ‘ 𝑥 ) = 0 ) )
29 27 28 syl ( 𝑥 ∈ ℋ → ( ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) = 0 ↔ ( ( proj𝐻 ) ‘ 𝑥 ) = 0 ) )
30 pjoc2 ( ( 𝐻C𝑥 ∈ ℋ ) → ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) ↔ ( ( proj𝐻 ) ‘ 𝑥 ) = 0 ) )
31 2 30 mpan ( 𝑥 ∈ ℋ → ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) ↔ ( ( proj𝐻 ) ‘ 𝑥 ) = 0 ) )
32 29 31 bitr4d ( 𝑥 ∈ ℋ → ( ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) = 0 ↔ 𝑥 ∈ ( ⊥ ‘ 𝐻 ) ) )
33 32 adantr ( ( 𝑥 ∈ ℋ ∧ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) → ( ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) = 0 ↔ 𝑥 ∈ ( ⊥ ‘ 𝐻 ) ) )
34 norm-i ( ( ( proj𝐺 ) ‘ 𝑥 ) ∈ ℋ → ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 ↔ ( ( proj𝐺 ) ‘ 𝑥 ) = 0 ) )
35 14 34 syl ( 𝑥 ∈ ℋ → ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 ↔ ( ( proj𝐺 ) ‘ 𝑥 ) = 0 ) )
36 pjoc2 ( ( 𝐺C𝑥 ∈ ℋ ) → ( 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ↔ ( ( proj𝐺 ) ‘ 𝑥 ) = 0 ) )
37 1 36 mpan ( 𝑥 ∈ ℋ → ( 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ↔ ( ( proj𝐺 ) ‘ 𝑥 ) = 0 ) )
38 35 37 bitr4d ( 𝑥 ∈ ℋ → ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 ↔ 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ) )
39 38 adantr ( ( 𝑥 ∈ ℋ ∧ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) → ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) = 0 ↔ 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ) )
40 26 33 39 3imtr3d ( ( 𝑥 ∈ ℋ ∧ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) → ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) → 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ) )
41 40 ex ( 𝑥 ∈ ℋ → ( ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) → ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) → 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ) ) )
42 41 a2i ( ( 𝑥 ∈ ℋ → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) → ( 𝑥 ∈ ℋ → ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) → 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ) ) )
43 11 42 syl5 ( ( 𝑥 ∈ ℋ → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) → ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) → ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) → 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ) ) )
44 43 pm2.43d ( ( 𝑥 ∈ ℋ → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) → ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) → 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ) )
45 44 alimi ( ∀ 𝑥 ( 𝑥 ∈ ℋ → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) → ∀ 𝑥 ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) → 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ) )
46 df-ral ( ∀ 𝑥 ∈ ℋ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ↔ ∀ 𝑥 ( 𝑥 ∈ ℋ → ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) ) )
47 dfss2 ( ( ⊥ ‘ 𝐻 ) ⊆ ( ⊥ ‘ 𝐺 ) ↔ ∀ 𝑥 ( 𝑥 ∈ ( ⊥ ‘ 𝐻 ) → 𝑥 ∈ ( ⊥ ‘ 𝐺 ) ) )
48 45 46 47 3imtr4i ( ∀ 𝑥 ∈ ℋ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) → ( ⊥ ‘ 𝐻 ) ⊆ ( ⊥ ‘ 𝐺 ) )
49 1 2 chsscon3i ( 𝐺𝐻 ↔ ( ⊥ ‘ 𝐻 ) ⊆ ( ⊥ ‘ 𝐺 ) )
50 48 49 sylibr ( ∀ 𝑥 ∈ ℋ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) → 𝐺𝐻 )
51 9 50 impbii ( 𝐺𝐻 ↔ ∀ 𝑥 ∈ ℋ ( norm ‘ ( ( proj𝐺 ) ‘ 𝑥 ) ) ≤ ( norm ‘ ( ( proj𝐻 ) ‘ 𝑥 ) ) )