HSE Home Hilbert Space Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  HSE Home  >  Th. List  >  pjspansn Structured version   Visualization version   GIF version

Theorem pjspansn 28826
Description: A projection on the span of a singleton. (The proof ws shortened by Mario Carneiro, 15-Dec-2013.) (Contributed by NM, 28-May-2006.) (Revised by Mario Carneiro, 15-Dec-2013.) (New usage is discouraged.)
Assertion
Ref Expression
pjspansn ((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) → ((proj‘(span‘{𝐴}))‘𝐵) = (((𝐵 ·ih 𝐴) / ((norm𝐴)↑2)) · 𝐴))

Proof of Theorem pjspansn
Dummy variable 𝑦 is distinct from all other variables.
StepHypRef Expression
1 spansnch 28809 . . . 4 (𝐴 ∈ ℋ → (span‘{𝐴}) ∈ C )
213ad2ant1 1163 . . 3 ((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) → (span‘{𝐴}) ∈ C )
3 simp2 1167 . . 3 ((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) → 𝐵 ∈ ℋ)
4 eqid 2764 . . . . 5 ((proj‘(span‘{𝐴}))‘𝐵) = ((proj‘(span‘{𝐴}))‘𝐵)
5 pjeq 28648 . . . . 5 (((span‘{𝐴}) ∈ C𝐵 ∈ ℋ) → (((proj‘(span‘{𝐴}))‘𝐵) = ((proj‘(span‘{𝐴}))‘𝐵) ↔ (((proj‘(span‘{𝐴}))‘𝐵) ∈ (span‘{𝐴}) ∧ ∃𝑦 ∈ (⊥‘(span‘{𝐴}))𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))))
64, 5mpbii 224 . . . 4 (((span‘{𝐴}) ∈ C𝐵 ∈ ℋ) → (((proj‘(span‘{𝐴}))‘𝐵) ∈ (span‘{𝐴}) ∧ ∃𝑦 ∈ (⊥‘(span‘{𝐴}))𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦)))
76simprd 489 . . 3 (((span‘{𝐴}) ∈ C𝐵 ∈ ℋ) → ∃𝑦 ∈ (⊥‘(span‘{𝐴}))𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))
82, 3, 7syl2anc 579 . 2 ((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) → ∃𝑦 ∈ (⊥‘(span‘{𝐴}))𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))
9 oveq1 6848 . . . . . . 7 (𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦) → (𝐵 ·ih 𝐴) = ((((proj‘(span‘{𝐴}))‘𝐵) + 𝑦) ·ih 𝐴))
109ad2antll 720 . . . . . 6 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → (𝐵 ·ih 𝐴) = ((((proj‘(span‘{𝐴}))‘𝐵) + 𝑦) ·ih 𝐴))
11 pjhcl 28650 . . . . . . . . . . 11 (((span‘{𝐴}) ∈ C𝐵 ∈ ℋ) → ((proj‘(span‘{𝐴}))‘𝐵) ∈ ℋ)
122, 3, 11syl2anc 579 . . . . . . . . . 10 ((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) → ((proj‘(span‘{𝐴}))‘𝐵) ∈ ℋ)
1312adantr 472 . . . . . . . . 9 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → ((proj‘(span‘{𝐴}))‘𝐵) ∈ ℋ)
14 choccl 28555 . . . . . . . . . . . 12 ((span‘{𝐴}) ∈ C → (⊥‘(span‘{𝐴})) ∈ C )
151, 14syl 17 . . . . . . . . . . 11 (𝐴 ∈ ℋ → (⊥‘(span‘{𝐴})) ∈ C )
16153ad2ant1 1163 . . . . . . . . . 10 ((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) → (⊥‘(span‘{𝐴})) ∈ C )
17 chel 28477 . . . . . . . . . 10 (((⊥‘(span‘{𝐴})) ∈ C𝑦 ∈ (⊥‘(span‘{𝐴}))) → 𝑦 ∈ ℋ)
1816, 17sylan 575 . . . . . . . . 9 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → 𝑦 ∈ ℋ)
19 simpl1 1242 . . . . . . . . 9 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → 𝐴 ∈ ℋ)
20 ax-his2 28330 . . . . . . . . 9 ((((proj‘(span‘{𝐴}))‘𝐵) ∈ ℋ ∧ 𝑦 ∈ ℋ ∧ 𝐴 ∈ ℋ) → ((((proj‘(span‘{𝐴}))‘𝐵) + 𝑦) ·ih 𝐴) = ((((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) + (𝑦 ·ih 𝐴)))
2113, 18, 19, 20syl3anc 1490 . . . . . . . 8 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → ((((proj‘(span‘{𝐴}))‘𝐵) + 𝑦) ·ih 𝐴) = ((((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) + (𝑦 ·ih 𝐴)))
22 spansnsh 28810 . . . . . . . . . . . . 13 (𝐴 ∈ ℋ → (span‘{𝐴}) ∈ S )
2322adantr 472 . . . . . . . . . . . 12 ((𝐴 ∈ ℋ ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → (span‘{𝐴}) ∈ S )
24 spansnid 28812 . . . . . . . . . . . . 13 (𝐴 ∈ ℋ → 𝐴 ∈ (span‘{𝐴}))
2524adantr 472 . . . . . . . . . . . 12 ((𝐴 ∈ ℋ ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → 𝐴 ∈ (span‘{𝐴}))
26 simpr 477 . . . . . . . . . . . 12 ((𝐴 ∈ ℋ ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → 𝑦 ∈ (⊥‘(span‘{𝐴})))
27 shocorth 28541 . . . . . . . . . . . . 13 ((span‘{𝐴}) ∈ S → ((𝐴 ∈ (span‘{𝐴}) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → (𝐴 ·ih 𝑦) = 0))
28273impib 1144 . . . . . . . . . . . 12 (((span‘{𝐴}) ∈ S𝐴 ∈ (span‘{𝐴}) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → (𝐴 ·ih 𝑦) = 0)
2923, 25, 26, 28syl3anc 1490 . . . . . . . . . . 11 ((𝐴 ∈ ℋ ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → (𝐴 ·ih 𝑦) = 0)
3015, 17sylan 575 . . . . . . . . . . . 12 ((𝐴 ∈ ℋ ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → 𝑦 ∈ ℋ)
31 orthcom 28355 . . . . . . . . . . . 12 ((𝐴 ∈ ℋ ∧ 𝑦 ∈ ℋ) → ((𝐴 ·ih 𝑦) = 0 ↔ (𝑦 ·ih 𝐴) = 0))
3230, 31syldan 585 . . . . . . . . . . 11 ((𝐴 ∈ ℋ ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → ((𝐴 ·ih 𝑦) = 0 ↔ (𝑦 ·ih 𝐴) = 0))
3329, 32mpbid 223 . . . . . . . . . 10 ((𝐴 ∈ ℋ ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → (𝑦 ·ih 𝐴) = 0)
34333ad2antl1 1236 . . . . . . . . 9 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → (𝑦 ·ih 𝐴) = 0)
3534oveq2d 6857 . . . . . . . 8 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → ((((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) + (𝑦 ·ih 𝐴)) = ((((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) + 0))
36 hicl 28327 . . . . . . . . . 10 ((((proj‘(span‘{𝐴}))‘𝐵) ∈ ℋ ∧ 𝐴 ∈ ℋ) → (((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) ∈ ℂ)
3713, 19, 36syl2anc 579 . . . . . . . . 9 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → (((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) ∈ ℂ)
3837addid1d 10489 . . . . . . . 8 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → ((((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) + 0) = (((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴))
3921, 35, 383eqtrd 2802 . . . . . . 7 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ 𝑦 ∈ (⊥‘(span‘{𝐴}))) → ((((proj‘(span‘{𝐴}))‘𝐵) + 𝑦) ·ih 𝐴) = (((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴))
4039adantrr 708 . . . . . 6 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → ((((proj‘(span‘{𝐴}))‘𝐵) + 𝑦) ·ih 𝐴) = (((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴))
4110, 40eqtrd 2798 . . . . 5 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → (𝐵 ·ih 𝐴) = (((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴))
4241oveq1d 6856 . . . 4 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → ((𝐵 ·ih 𝐴) / ((norm𝐴)↑2)) = ((((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) / ((norm𝐴)↑2)))
4342oveq1d 6856 . . 3 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → (((𝐵 ·ih 𝐴) / ((norm𝐴)↑2)) · 𝐴) = (((((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) / ((norm𝐴)↑2)) · 𝐴))
44 simpl1 1242 . . . 4 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → 𝐴 ∈ ℋ)
45 simpl3 1246 . . . 4 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → 𝐴 ≠ 0)
46 axpjcl 28649 . . . . . 6 (((span‘{𝐴}) ∈ C𝐵 ∈ ℋ) → ((proj‘(span‘{𝐴}))‘𝐵) ∈ (span‘{𝐴}))
472, 3, 46syl2anc 579 . . . . 5 ((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) → ((proj‘(span‘{𝐴}))‘𝐵) ∈ (span‘{𝐴}))
4847adantr 472 . . . 4 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → ((proj‘(span‘{𝐴}))‘𝐵) ∈ (span‘{𝐴}))
49 normcan 28825 . . . 4 ((𝐴 ∈ ℋ ∧ 𝐴 ≠ 0 ∧ ((proj‘(span‘{𝐴}))‘𝐵) ∈ (span‘{𝐴})) → (((((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) / ((norm𝐴)↑2)) · 𝐴) = ((proj‘(span‘{𝐴}))‘𝐵))
5044, 45, 48, 49syl3anc 1490 . . 3 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → (((((proj‘(span‘{𝐴}))‘𝐵) ·ih 𝐴) / ((norm𝐴)↑2)) · 𝐴) = ((proj‘(span‘{𝐴}))‘𝐵))
5143, 50eqtr2d 2799 . 2 (((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) ∧ (𝑦 ∈ (⊥‘(span‘{𝐴})) ∧ 𝐵 = (((proj‘(span‘{𝐴}))‘𝐵) + 𝑦))) → ((proj‘(span‘{𝐴}))‘𝐵) = (((𝐵 ·ih 𝐴) / ((norm𝐴)↑2)) · 𝐴))
528, 51rexlimddv 3181 1 ((𝐴 ∈ ℋ ∧ 𝐵 ∈ ℋ ∧ 𝐴 ≠ 0) → ((proj‘(span‘{𝐴}))‘𝐵) = (((𝐵 ·ih 𝐴) / ((norm𝐴)↑2)) · 𝐴))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 197  wa 384  w3a 1107   = wceq 1652  wcel 2155  wne 2936  wrex 3055  {csn 4333  cfv 6067  (class class class)co 6841  cc 10186  0cc0 10188   + caddc 10191   / cdiv 10937  2c2 11326  cexp 13066  chba 28166   + cva 28167   · csm 28168   ·ih csp 28169  normcno 28170  0c0v 28171   S csh 28175   C cch 28176  cort 28177  spancspn 28179  projcpjh 28184
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1890  ax-4 1904  ax-5 2005  ax-6 2069  ax-7 2105  ax-8 2157  ax-9 2164  ax-10 2183  ax-11 2198  ax-12 2211  ax-13 2349  ax-ext 2742  ax-rep 4929  ax-sep 4940  ax-nul 4948  ax-pow 5000  ax-pr 5061  ax-un 7146  ax-inf2 8752  ax-cc 9509  ax-cnex 10244  ax-resscn 10245  ax-1cn 10246  ax-icn 10247  ax-addcl 10248  ax-addrcl 10249  ax-mulcl 10250  ax-mulrcl 10251  ax-mulcom 10252  ax-addass 10253  ax-mulass 10254  ax-distr 10255  ax-i2m1 10256  ax-1ne0 10257  ax-1rid 10258  ax-rnegex 10259  ax-rrecex 10260  ax-cnre 10261  ax-pre-lttri 10262  ax-pre-lttrn 10263  ax-pre-ltadd 10264  ax-pre-mulgt0 10265  ax-pre-sup 10266  ax-addf 10267  ax-mulf 10268  ax-hilex 28246  ax-hfvadd 28247  ax-hvcom 28248  ax-hvass 28249  ax-hv0cl 28250  ax-hvaddid 28251  ax-hfvmul 28252  ax-hvmulid 28253  ax-hvmulass 28254  ax-hvdistr1 28255  ax-hvdistr2 28256  ax-hvmul0 28257  ax-hfi 28326  ax-his1 28329  ax-his2 28330  ax-his3 28331  ax-his4 28332  ax-hcompl 28449
This theorem depends on definitions:  df-bi 198  df-an 385  df-or 874  df-3or 1108  df-3an 1109  df-tru 1656  df-fal 1666  df-ex 1875  df-nf 1879  df-sb 2062  df-mo 2564  df-eu 2581  df-clab 2751  df-cleq 2757  df-clel 2760  df-nfc 2895  df-ne 2937  df-nel 3040  df-ral 3059  df-rex 3060  df-reu 3061  df-rmo 3062  df-rab 3063  df-v 3351  df-sbc 3596  df-csb 3691  df-dif 3734  df-un 3736  df-in 3738  df-ss 3745  df-pss 3747  df-nul 4079  df-if 4243  df-pw 4316  df-sn 4334  df-pr 4336  df-tp 4338  df-op 4340  df-uni 4594  df-int 4633  df-iun 4677  df-iin 4678  df-br 4809  df-opab 4871  df-mpt 4888  df-tr 4911  df-id 5184  df-eprel 5189  df-po 5197  df-so 5198  df-fr 5235  df-se 5236  df-we 5237  df-xp 5282  df-rel 5283  df-cnv 5284  df-co 5285  df-dm 5286  df-rn 5287  df-res 5288  df-ima 5289  df-pred 5864  df-ord 5910  df-on 5911  df-lim 5912  df-suc 5913  df-iota 6030  df-fun 6069  df-fn 6070  df-f 6071  df-f1 6072  df-fo 6073  df-f1o 6074  df-fv 6075  df-isom 6076  df-riota 6802  df-ov 6844  df-oprab 6845  df-mpt2 6846  df-of 7094  df-om 7263  df-1st 7365  df-2nd 7366  df-supp 7497  df-wrecs 7609  df-recs 7671  df-rdg 7709  df-1o 7763  df-2o 7764  df-oadd 7767  df-omul 7768  df-er 7946  df-map 8061  df-pm 8062  df-ixp 8113  df-en 8160  df-dom 8161  df-sdom 8162  df-fin 8163  df-fsupp 8482  df-fi 8523  df-sup 8554  df-inf 8555  df-oi 8621  df-card 9015  df-acn 9018  df-cda 9242  df-pnf 10329  df-mnf 10330  df-xr 10331  df-ltxr 10332  df-le 10333  df-sub 10521  df-neg 10522  df-div 10938  df-nn 11274  df-2 11334  df-3 11335  df-4 11336  df-5 11337  df-6 11338  df-7 11339  df-8 11340  df-9 11341  df-n0 11538  df-z 11624  df-dec 11740  df-uz 11886  df-q 11989  df-rp 12028  df-xneg 12145  df-xadd 12146  df-xmul 12147  df-ioo 12380  df-ico 12382  df-icc 12383  df-fz 12533  df-fzo 12673  df-fl 12800  df-seq 13008  df-exp 13067  df-hash 13321  df-cj 14125  df-re 14126  df-im 14127  df-sqrt 14261  df-abs 14262  df-clim 14505  df-rlim 14506  df-sum 14703  df-struct 16133  df-ndx 16134  df-slot 16135  df-base 16137  df-sets 16138  df-ress 16139  df-plusg 16228  df-mulr 16229  df-starv 16230  df-sca 16231  df-vsca 16232  df-ip 16233  df-tset 16234  df-ple 16235  df-ds 16237  df-unif 16238  df-hom 16239  df-cco 16240  df-rest 16350  df-topn 16351  df-0g 16369  df-gsum 16370  df-topgen 16371  df-pt 16372  df-prds 16375  df-xrs 16429  df-qtop 16434  df-imas 16435  df-xps 16437  df-mre 16513  df-mrc 16514  df-acs 16516  df-mgm 17509  df-sgrp 17551  df-mnd 17562  df-submnd 17603  df-mulg 17809  df-cntz 18014  df-cmn 18460  df-psmet 20010  df-xmet 20011  df-met 20012  df-bl 20013  df-mopn 20014  df-fbas 20015  df-fg 20016  df-cnfld 20019  df-top 20977  df-topon 20994  df-topsp 21016  df-bases 21029  df-cld 21102  df-ntr 21103  df-cls 21104  df-nei 21181  df-cn 21310  df-cnp 21311  df-lm 21312  df-haus 21398  df-tx 21644  df-hmeo 21837  df-fil 21928  df-fm 22020  df-flim 22021  df-flf 22022  df-xms 22403  df-ms 22404  df-tms 22405  df-cfil 23331  df-cau 23332  df-cmet 23333  df-grpo 27738  df-gid 27739  df-ginv 27740  df-gdiv 27741  df-ablo 27790  df-vc 27804  df-nv 27837  df-va 27840  df-ba 27841  df-sm 27842  df-0v 27843  df-vs 27844  df-nmcv 27845  df-ims 27846  df-dip 27946  df-ssp 27967  df-ph 28058  df-cbn 28109  df-hnorm 28215  df-hba 28216  df-hvsub 28218  df-hlim 28219  df-hcau 28220  df-sh 28454  df-ch 28468  df-oc 28499  df-ch0 28500  df-shs 28557  df-span 28558  df-pjh 28644
This theorem is referenced by:  kbpj  29205
  Copyright terms: Public domain W3C validator