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

Theorem pjspansn 26159
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  |-  ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  ->  (
( proj h `  ( span `  { A } ) ) `  B )  =  ( ( ( B  .ih  A )  /  ( (
normh `  A ) ^
2 ) )  .h  A ) )

Proof of Theorem pjspansn
Dummy variable  y is distinct from all other variables.
StepHypRef Expression
1 spansnch 26142 . . . 4  |-  ( A  e.  ~H  ->  ( span `  { A }
)  e.  CH )
213ad2ant1 1012 . . 3  |-  ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  ->  ( span `  { A }
)  e.  CH )
3 simp2 992 . . 3  |-  ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  ->  B  e.  ~H )
4 eqid 2462 . . . . 5  |-  ( (
proj h `  ( span `  { A } ) ) `  B )  =  ( ( proj h `  ( span `  { A } ) ) `  B )
5 pjeq 25981 . . . . 5  |-  ( ( ( span `  { A } )  e.  CH  /\  B  e.  ~H )  ->  ( ( ( proj h `  ( span `  { A } ) ) `  B )  =  ( ( proj h `  ( span `  { A } ) ) `  B )  <-> 
( ( ( proj h `  ( span `  { A } ) ) `  B )  e.  ( span `  { A } )  /\  E. y  e.  ( _|_ `  ( span `  { A } ) ) B  =  ( ( (
proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) ) )
64, 5mpbii 211 . . . 4  |-  ( ( ( span `  { A } )  e.  CH  /\  B  e.  ~H )  ->  ( ( ( proj h `  ( span `  { A } ) ) `  B )  e.  ( span `  { A } )  /\  E. y  e.  ( _|_ `  ( span `  { A } ) ) B  =  ( ( (
proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )
76simprd 463 . . 3  |-  ( ( ( span `  { A } )  e.  CH  /\  B  e.  ~H )  ->  E. y  e.  ( _|_ `  ( span `  { A } ) ) B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y
) )
82, 3, 7syl2anc 661 . 2  |-  ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  ->  E. y  e.  ( _|_ `  ( span `  { A }
) ) B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) )
9 oveq1 6284 . . . . . . 7  |-  ( B  =  ( ( (
proj h `  ( span `  { A } ) ) `  B )  +h  y )  -> 
( B  .ih  A
)  =  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y
)  .ih  A )
)
109ad2antll 728 . . . . . 6  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  ( B  .ih  A )  =  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y )  .ih  A ) )
11 pjhcl 25983 . . . . . . . . . . 11  |-  ( ( ( span `  { A } )  e.  CH  /\  B  e.  ~H )  ->  ( ( proj h `  ( span `  { A } ) ) `  B )  e.  ~H )
122, 3, 11syl2anc 661 . . . . . . . . . 10  |-  ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  ->  (
( proj h `  ( span `  { A } ) ) `  B )  e.  ~H )
1312adantr 465 . . . . . . . . 9  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( ( proj h `  ( span `  { A } ) ) `  B )  e.  ~H )
14 choccl 25888 . . . . . . . . . . . 12  |-  ( (
span `  { A } )  e.  CH  ->  ( _|_ `  ( span `  { A }
) )  e.  CH )
151, 14syl 16 . . . . . . . . . . 11  |-  ( A  e.  ~H  ->  ( _|_ `  ( span `  { A } ) )  e. 
CH )
16153ad2ant1 1012 . . . . . . . . . 10  |-  ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  ->  ( _|_ `  ( span `  { A } ) )  e. 
CH )
17 chel 25812 . . . . . . . . . 10  |-  ( ( ( _|_ `  ( span `  { A }
) )  e.  CH  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  y  e.  ~H )
1816, 17sylan 471 . . . . . . . . 9  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  y  e.  ~H )
19 simpl1 994 . . . . . . . . 9  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  A  e.  ~H )
20 ax-his2 25664 . . . . . . . . 9  |-  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  e.  ~H  /\  y  e.  ~H  /\  A  e.  ~H )  ->  ( ( ( (
proj h `  ( span `  { A } ) ) `  B )  +h  y )  .ih  A )  =  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  .ih  A
)  +  ( y 
.ih  A ) ) )
2113, 18, 19, 20syl3anc 1223 . . . . . . . 8  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y
)  .ih  A )  =  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  .ih  A
)  +  ( y 
.ih  A ) ) )
22 spansnsh 26143 . . . . . . . . . . . . 13  |-  ( A  e.  ~H  ->  ( span `  { A }
)  e.  SH )
2322adantr 465 . . . . . . . . . . . 12  |-  ( ( A  e.  ~H  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( span `  { A } )  e.  SH )
24 spansnid 26145 . . . . . . . . . . . . 13  |-  ( A  e.  ~H  ->  A  e.  ( span `  { A } ) )
2524adantr 465 . . . . . . . . . . . 12  |-  ( ( A  e.  ~H  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  A  e.  (
span `  { A } ) )
26 simpr 461 . . . . . . . . . . . 12  |-  ( ( A  e.  ~H  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  y  e.  ( _|_ `  ( span `  { A } ) ) )
27 shocorth 25874 . . . . . . . . . . . . 13  |-  ( (
span `  { A } )  e.  SH  ->  ( ( A  e.  ( span `  { A } )  /\  y  e.  ( _|_ `  ( span `  { A }
) ) )  -> 
( A  .ih  y
)  =  0 ) )
28273impib 1189 . . . . . . . . . . . 12  |-  ( ( ( span `  { A } )  e.  SH  /\  A  e.  ( span `  { A } )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( A  .ih  y )  =  0 )
2923, 25, 26, 28syl3anc 1223 . . . . . . . . . . 11  |-  ( ( A  e.  ~H  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( A  .ih  y )  =  0 )
3015, 17sylan 471 . . . . . . . . . . . 12  |-  ( ( A  e.  ~H  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  y  e.  ~H )
31 orthcom 25689 . . . . . . . . . . . 12  |-  ( ( A  e.  ~H  /\  y  e.  ~H )  ->  ( ( A  .ih  y )  =  0  <-> 
( y  .ih  A
)  =  0 ) )
3230, 31syldan 470 . . . . . . . . . . 11  |-  ( ( A  e.  ~H  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( ( A 
.ih  y )  =  0  <->  ( y  .ih  A )  =  0 ) )
3329, 32mpbid 210 . . . . . . . . . 10  |-  ( ( A  e.  ~H  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( y  .ih  A )  =  0 )
34333ad2antl1 1153 . . . . . . . . 9  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( y  .ih  A )  =  0 )
3534oveq2d 6293 . . . . . . . 8  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  .ih  A
)  +  ( y 
.ih  A ) )  =  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  .ih  A
)  +  0 ) )
36 hicl 25661 . . . . . . . . . 10  |-  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  e.  ~H  /\  A  e.  ~H )  ->  ( ( ( proj h `  ( span `  { A } ) ) `  B ) 
.ih  A )  e.  CC )
3713, 19, 36syl2anc 661 . . . . . . . . 9  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( ( (
proj h `  ( span `  { A } ) ) `  B ) 
.ih  A )  e.  CC )
3837addid1d 9770 . . . . . . . 8  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  .ih  A
)  +  0 )  =  ( ( (
proj h `  ( span `  { A } ) ) `  B ) 
.ih  A ) )
3921, 35, 383eqtrd 2507 . . . . . . 7  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  y  e.  ( _|_ `  ( span `  { A } ) ) )  ->  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y
)  .ih  A )  =  ( ( (
proj h `  ( span `  { A } ) ) `  B ) 
.ih  A ) )
4039adantrr 716 . . . . . 6  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  ( (
( ( proj h `  ( span `  { A } ) ) `  B )  +h  y
)  .ih  A )  =  ( ( (
proj h `  ( span `  { A } ) ) `  B ) 
.ih  A ) )
4110, 40eqtrd 2503 . . . . 5  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  ( B  .ih  A )  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  .ih  A
) )
4241oveq1d 6292 . . . 4  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  ( ( B  .ih  A )  / 
( ( normh `  A
) ^ 2 ) )  =  ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  .ih  A
)  /  ( (
normh `  A ) ^
2 ) ) )
4342oveq1d 6292 . . 3  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  ( (
( B  .ih  A
)  /  ( (
normh `  A ) ^
2 ) )  .h  A )  =  ( ( ( ( (
proj h `  ( span `  { A } ) ) `  B ) 
.ih  A )  / 
( ( normh `  A
) ^ 2 ) )  .h  A ) )
44 simpl1 994 . . . 4  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  A  e.  ~H )
45 simpl3 996 . . . 4  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  A  =/=  0h )
46 axpjcl 25982 . . . . . 6  |-  ( ( ( span `  { A } )  e.  CH  /\  B  e.  ~H )  ->  ( ( proj h `  ( span `  { A } ) ) `  B )  e.  (
span `  { A } ) )
472, 3, 46syl2anc 661 . . . . 5  |-  ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  ->  (
( proj h `  ( span `  { A } ) ) `  B )  e.  (
span `  { A } ) )
4847adantr 465 . . . 4  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  ( ( proj h `  ( span `  { A } ) ) `  B )  e.  ( span `  { A } ) )
49 normcan 26158 . . . 4  |-  ( ( A  e.  ~H  /\  A  =/=  0h  /\  (
( proj h `  ( span `  { A } ) ) `  B )  e.  (
span `  { A } ) )  -> 
( ( ( ( ( proj h `  ( span `  { A } ) ) `  B )  .ih  A
)  /  ( (
normh `  A ) ^
2 ) )  .h  A )  =  ( ( proj h `  ( span `  { A } ) ) `  B ) )
5044, 45, 48, 49syl3anc 1223 . . 3  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  ( (
( ( ( proj h `  ( span `  { A } ) ) `  B ) 
.ih  A )  / 
( ( normh `  A
) ^ 2 ) )  .h  A )  =  ( ( proj h `  ( span `  { A } ) ) `  B ) )
5143, 50eqtr2d 2504 . 2  |-  ( ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  /\  ( y  e.  ( _|_ `  ( span `  { A } ) )  /\  B  =  ( ( ( proj h `  ( span `  { A } ) ) `  B )  +h  y ) ) )  ->  ( ( proj h `  ( span `  { A } ) ) `  B )  =  ( ( ( B  .ih  A )  /  ( ( normh `  A ) ^ 2 ) )  .h  A
) )
528, 51rexlimddv 2954 1  |-  ( ( A  e.  ~H  /\  B  e.  ~H  /\  A  =/=  0h )  ->  (
( proj h `  ( span `  { A } ) ) `  B )  =  ( ( ( B  .ih  A )  /  ( (
normh `  A ) ^
2 ) )  .h  A ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 968    = wceq 1374    e. wcel 1762    =/= wne 2657   E.wrex 2810   {csn 4022   ` cfv 5581  (class class class)co 6277   CCcc 9481   0cc0 9483    + caddc 9486    / cdiv 10197   2c2 10576   ^cexp 12124   ~Hchil 25500    +h cva 25501    .h csm 25502    .ih csp 25503   normhcno 25504   0hc0v 25505   SHcsh 25509   CHcch 25510   _|_cort 25511   spancspn 25513   proj hcpjh 25518
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1596  ax-4 1607  ax-5 1675  ax-6 1714  ax-7 1734  ax-8 1764  ax-9 1766  ax-10 1781  ax-11 1786  ax-12 1798  ax-13 1963  ax-ext 2440  ax-rep 4553  ax-sep 4563  ax-nul 4571  ax-pow 4620  ax-pr 4681  ax-un 6569  ax-inf2 8049  ax-cc 8806  ax-cnex 9539  ax-resscn 9540  ax-1cn 9541  ax-icn 9542  ax-addcl 9543  ax-addrcl 9544  ax-mulcl 9545  ax-mulrcl 9546  ax-mulcom 9547  ax-addass 9548  ax-mulass 9549  ax-distr 9550  ax-i2m1 9551  ax-1ne0 9552  ax-1rid 9553  ax-rnegex 9554  ax-rrecex 9555  ax-cnre 9556  ax-pre-lttri 9557  ax-pre-lttrn 9558  ax-pre-ltadd 9559  ax-pre-mulgt0 9560  ax-pre-sup 9561  ax-addf 9562  ax-mulf 9563  ax-hilex 25580  ax-hfvadd 25581  ax-hvcom 25582  ax-hvass 25583  ax-hv0cl 25584  ax-hvaddid 25585  ax-hfvmul 25586  ax-hvmulid 25587  ax-hvmulass 25588  ax-hvdistr1 25589  ax-hvdistr2 25590  ax-hvmul0 25591  ax-hfi 25660  ax-his1 25663  ax-his2 25664  ax-his3 25665  ax-his4 25666  ax-hcompl 25783
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 969  df-3an 970  df-tru 1377  df-fal 1380  df-ex 1592  df-nf 1595  df-sb 1707  df-eu 2274  df-mo 2275  df-clab 2448  df-cleq 2454  df-clel 2457  df-nfc 2612  df-ne 2659  df-nel 2660  df-ral 2814  df-rex 2815  df-reu 2816  df-rmo 2817  df-rab 2818  df-v 3110  df-sbc 3327  df-csb 3431  df-dif 3474  df-un 3476  df-in 3478  df-ss 3485  df-pss 3487  df-nul 3781  df-if 3935  df-pw 4007  df-sn 4023  df-pr 4025  df-tp 4027  df-op 4029  df-uni 4241  df-int 4278  df-iun 4322  df-iin 4323  df-br 4443  df-opab 4501  df-mpt 4502  df-tr 4536  df-eprel 4786  df-id 4790  df-po 4795  df-so 4796  df-fr 4833  df-se 4834  df-we 4835  df-ord 4876  df-on 4877  df-lim 4878  df-suc 4879  df-xp 5000  df-rel 5001  df-cnv 5002  df-co 5003  df-dm 5004  df-rn 5005  df-res 5006  df-ima 5007  df-iota 5544  df-fun 5583  df-fn 5584  df-f 5585  df-f1 5586  df-fo 5587  df-f1o 5588  df-fv 5589  df-isom 5590  df-riota 6238  df-ov 6280  df-oprab 6281  df-mpt2 6282  df-of 6517  df-om 6674  df-1st 6776  df-2nd 6777  df-supp 6894  df-recs 7034  df-rdg 7068  df-1o 7122  df-2o 7123  df-oadd 7126  df-omul 7127  df-er 7303  df-map 7414  df-pm 7415  df-ixp 7462  df-en 7509  df-dom 7510  df-sdom 7511  df-fin 7512  df-fsupp 7821  df-fi 7862  df-sup 7892  df-oi 7926  df-card 8311  df-acn 8314  df-cda 8539  df-pnf 9621  df-mnf 9622  df-xr 9623  df-ltxr 9624  df-le 9625  df-sub 9798  df-neg 9799  df-div 10198  df-nn 10528  df-2 10585  df-3 10586  df-4 10587  df-5 10588  df-6 10589  df-7 10590  df-8 10591  df-9 10592  df-10 10593  df-n0 10787  df-z 10856  df-dec 10968  df-uz 11074  df-q 11174  df-rp 11212  df-xneg 11309  df-xadd 11310  df-xmul 11311  df-ioo 11524  df-ico 11526  df-icc 11527  df-fz 11664  df-fzo 11784  df-fl 11888  df-seq 12066  df-exp 12125  df-hash 12363  df-cj 12884  df-re 12885  df-im 12886  df-sqr 13020  df-abs 13021  df-clim 13262  df-rlim 13263  df-sum 13460  df-struct 14483  df-ndx 14484  df-slot 14485  df-base 14486  df-sets 14487  df-ress 14488  df-plusg 14559  df-mulr 14560  df-starv 14561  df-sca 14562  df-vsca 14563  df-ip 14564  df-tset 14565  df-ple 14566  df-ds 14568  df-unif 14569  df-hom 14570  df-cco 14571  df-rest 14669  df-topn 14670  df-0g 14688  df-gsum 14689  df-topgen 14690  df-pt 14691  df-prds 14694  df-xrs 14748  df-qtop 14753  df-imas 14754  df-xps 14756  df-mre 14832  df-mrc 14833  df-acs 14835  df-mnd 15723  df-submnd 15773  df-mulg 15856  df-cntz 16145  df-cmn 16591  df-psmet 18177  df-xmet 18178  df-met 18179  df-bl 18180  df-mopn 18181  df-fbas 18182  df-fg 18183  df-cnfld 18187  df-top 19161  df-bases 19163  df-topon 19164  df-topsp 19165  df-cld 19281  df-ntr 19282  df-cls 19283  df-nei 19360  df-cn 19489  df-cnp 19490  df-lm 19491  df-haus 19577  df-tx 19793  df-hmeo 19986  df-fil 20077  df-fm 20169  df-flim 20170  df-flf 20171  df-xms 20553  df-ms 20554  df-tms 20555  df-cfil 21424  df-cau 21425  df-cmet 21426  df-grpo 24857  df-gid 24858  df-ginv 24859  df-gdiv 24860  df-ablo 24948  df-subgo 24968  df-vc 25103  df-nv 25149  df-va 25152  df-ba 25153  df-sm 25154  df-0v 25155  df-vs 25156  df-nmcv 25157  df-ims 25158  df-dip 25275  df-ssp 25299  df-ph 25392  df-cbn 25443  df-hnorm 25549  df-hba 25550  df-hvsub 25552  df-hlim 25553  df-hcau 25554  df-sh 25788  df-ch 25803  df-oc 25834  df-ch0 25835  df-shs 25890  df-span 25891  df-pjh 25977
This theorem is referenced by:  kbpj  26539
  Copyright terms: Public domain W3C validator