Users' Mathboxes Mathbox for Drahflow < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  dfrtrcl2 Unicode version

Theorem dfrtrcl2 24045
Description: The two definitions  t * and  t *rec of the reflexive, transitive closure coincide if  R is indeed a relation. (Contributed by Drahflow, 12-Nov-2015.)
Hypotheses
Ref Expression
drrtrcl2.1  |-  ( ph  ->  Rel  R )
drrtrcl2.2  |-  ( ph  ->  R  e.  _V )
Assertion
Ref Expression
dfrtrcl2  |-  ( ph  ->  ( t * `  R )  =  ( t *rec `  R
) )

Proof of Theorem dfrtrcl2
Dummy variables  x  z  s are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqidd 2284 . . . 4  |-  ( ph  ->  ( x  e.  _V  |->  |^|
{ z  |  ( (  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  /\  x  C_  z  /\  ( z  o.  z
)  C_  z ) } )  =  ( x  e.  _V  |->  |^|
{ z  |  ( (  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  /\  x  C_  z  /\  ( z  o.  z
)  C_  z ) } ) )
2 dmeq 4879 . . . . . . . . . . 11  |-  ( x  =  R  ->  dom  x  =  dom  R )
3 rneq 4904 . . . . . . . . . . 11  |-  ( x  =  R  ->  ran  x  =  ran  R )
42, 3uneq12d 3330 . . . . . . . . . 10  |-  ( x  =  R  ->  ( dom  x  u.  ran  x
)  =  ( dom 
R  u.  ran  R
) )
54reseq2d 4955 . . . . . . . . 9  |-  ( x  =  R  ->  (  _I  |`  ( dom  x  u.  ran  x ) )  =  (  _I  |`  ( dom  R  u.  ran  R
) ) )
65sseq1d 3205 . . . . . . . 8  |-  ( x  =  R  ->  (
(  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  <->  (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z )
)
7 id 19 . . . . . . . . 9  |-  ( x  =  R  ->  x  =  R )
87sseq1d 3205 . . . . . . . 8  |-  ( x  =  R  ->  (
x  C_  z  <->  R  C_  z
) )
96, 83anbi12d 1253 . . . . . . 7  |-  ( x  =  R  ->  (
( (  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  /\  x  C_  z  /\  ( z  o.  z
)  C_  z )  <->  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z )
) )
109abbidv 2397 . . . . . 6  |-  ( x  =  R  ->  { z  |  ( (  _I  |`  ( dom  x  u. 
ran  x ) ) 
C_  z  /\  x  C_  z  /\  ( z  o.  z )  C_  z ) }  =  { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) } )
1110inteqd 3867 . . . . 5  |-  ( x  =  R  ->  |^| { z  |  ( (  _I  |`  ( dom  x  u. 
ran  x ) ) 
C_  z  /\  x  C_  z  /\  ( z  o.  z )  C_  z ) }  =  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) } )
1211adantl 452 . . . 4  |-  ( (
ph  /\  x  =  R )  ->  |^| { z  |  ( (  _I  |`  ( dom  x  u. 
ran  x ) ) 
C_  z  /\  x  C_  z  /\  ( z  o.  z )  C_  z ) }  =  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) } )
13 drrtrcl2.2 . . . 4  |-  ( ph  ->  R  e.  _V )
14 drrtrcl2.1 . . . . . . . . . 10  |-  ( ph  ->  Rel  R )
15 relfld 5198 . . . . . . . . . 10  |-  ( Rel 
R  ->  U. U. R  =  ( dom  R  u.  ran  R ) )
1614, 15syl 15 . . . . . . . . 9  |-  ( ph  ->  U. U. R  =  ( dom  R  u.  ran  R ) )
1716eqcomd 2288 . . . . . . . 8  |-  ( ph  ->  ( dom  R  u.  ran  R )  =  U. U. R )
1814, 13rtrclreclem.refl 24041 . . . . . . . . 9  |-  ( ph  ->  (  _I  |`  U. U. R )  C_  (
t *rec `  R
) )
19 id 19 . . . . . . . . . . 11  |-  ( ( dom  R  u.  ran  R )  =  U. U. R  ->  ( dom  R  u.  ran  R )  = 
U. U. R )
2019reseq2d 4955 . . . . . . . . . 10  |-  ( ( dom  R  u.  ran  R )  =  U. U. R  ->  (  _I  |`  ( dom  R  u.  ran  R
) )  =  (  _I  |`  U. U. R
) )
2120sseq1d 3205 . . . . . . . . 9  |-  ( ( dom  R  u.  ran  R )  =  U. U. R  ->  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  ( t *rec `  R )  <->  (  _I  |` 
U. U. R )  C_  ( t *rec `  R ) ) )
2218, 21syl5ibr 212 . . . . . . . 8  |-  ( ( dom  R  u.  ran  R )  =  U. U. R  ->  ( ph  ->  (  _I  |`  ( dom  R  u.  ran  R ) )  C_  ( t *rec `  R )
) )
2317, 22mpcom 32 . . . . . . 7  |-  ( ph  ->  (  _I  |`  ( dom  R  u.  ran  R
) )  C_  (
t *rec `  R
) )
2414, 13rtrclreclem.subset 24042 . . . . . . 7  |-  ( ph  ->  R  C_  ( t *rec `  R )
)
2514, 13rtrclreclem.trans 24043 . . . . . . 7  |-  ( ph  ->  ( ( t *rec
`  R )  o.  ( t *rec `  R ) )  C_  ( t *rec `  R ) )
26 fvex 5539 . . . . . . . 8  |-  ( t *rec `  R )  e.  _V
27 sseq2 3200 . . . . . . . . . . 11  |-  ( z  =  ( t *rec
`  R )  -> 
( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  <->  (  _I  |`  ( dom  R  u.  ran  R ) )  C_  ( t *rec `  R )
) )
28 sseq2 3200 . . . . . . . . . . 11  |-  ( z  =  ( t *rec
`  R )  -> 
( R  C_  z  <->  R 
C_  ( t *rec
`  R ) ) )
29 id 19 . . . . . . . . . . . . 13  |-  ( z  =  ( t *rec
`  R )  -> 
z  =  ( t *rec `  R )
)
3029, 29coeq12d 4848 . . . . . . . . . . . 12  |-  ( z  =  ( t *rec
`  R )  -> 
( z  o.  z
)  =  ( ( t *rec `  R
)  o.  ( t *rec `  R )
) )
3130, 29sseq12d 3207 . . . . . . . . . . 11  |-  ( z  =  ( t *rec
`  R )  -> 
( ( z  o.  z )  C_  z  <->  ( ( t *rec `  R )  o.  (
t *rec `  R
) )  C_  (
t *rec `  R
) ) )
3227, 28, 313anbi123d 1252 . . . . . . . . . 10  |-  ( z  =  ( t *rec
`  R )  -> 
( ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z )  <->  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  (
t *rec `  R
)  /\  R  C_  (
t *rec `  R
)  /\  ( (
t *rec `  R
)  o.  ( t *rec `  R )
)  C_  ( t *rec `  R )
) ) )
3332a1i 10 . . . . . . . . 9  |-  ( ph  ->  ( z  =  ( t *rec `  R
)  ->  ( (
(  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z )  <->  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  (
t *rec `  R
)  /\  R  C_  (
t *rec `  R
)  /\  ( (
t *rec `  R
)  o.  ( t *rec `  R )
)  C_  ( t *rec `  R )
) ) ) )
3433alrimiv 1617 . . . . . . . 8  |-  ( ph  ->  A. z ( z  =  ( t *rec
`  R )  -> 
( ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z )  <->  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  (
t *rec `  R
)  /\  R  C_  (
t *rec `  R
)  /\  ( (
t *rec `  R
)  o.  ( t *rec `  R )
)  C_  ( t *rec `  R )
) ) ) )
35 elabgt 2911 . . . . . . . 8  |-  ( ( ( t *rec `  R )  e.  _V  /\ 
A. z ( z  =  ( t *rec
`  R )  -> 
( ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z )  <->  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  (
t *rec `  R
)  /\  R  C_  (
t *rec `  R
)  /\  ( (
t *rec `  R
)  o.  ( t *rec `  R )
)  C_  ( t *rec `  R )
) ) ) )  ->  ( ( t *rec `  R )  e.  { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) } 
<->  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  (
t *rec `  R
)  /\  R  C_  (
t *rec `  R
)  /\  ( (
t *rec `  R
)  o.  ( t *rec `  R )
)  C_  ( t *rec `  R )
) ) )
3626, 34, 35sylancr 644 . . . . . . 7  |-  ( ph  ->  ( ( t *rec
`  R )  e. 
{ z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) } 
<->  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  (
t *rec `  R
)  /\  R  C_  (
t *rec `  R
)  /\  ( (
t *rec `  R
)  o.  ( t *rec `  R )
)  C_  ( t *rec `  R )
) ) )
3723, 24, 25, 36mpbir3and 1135 . . . . . 6  |-  ( ph  ->  ( t *rec `  R )  e.  {
z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  (
z  o.  z ) 
C_  z ) } )
38 ne0i 3461 . . . . . 6  |-  ( ( t *rec `  R
)  e.  { z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) }  ->  { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) }  =/=  (/) )
3937, 38syl 15 . . . . 5  |-  ( ph  ->  { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) }  =/=  (/) )
40 intex 4167 . . . . 5  |-  ( { z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  (
z  o.  z ) 
C_  z ) }  =/=  (/)  <->  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) }  e.  _V )
4139, 40sylib 188 . . . 4  |-  ( ph  ->  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) }  e.  _V )
421, 12, 13, 41fvmptd 5606 . . 3  |-  ( ph  ->  ( ( x  e. 
_V  |->  |^| { z  |  ( (  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  /\  x  C_  z  /\  ( z  o.  z
)  C_  z ) } ) `  R
)  =  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) } )
43 intss1 3877 . . . . 5  |-  ( ( t *rec `  R
)  e.  { z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) }  ->  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) }  C_  ( t *rec
`  R ) )
4437, 43syl 15 . . . 4  |-  ( ph  ->  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) }  C_  ( t *rec
`  R ) )
45 vex 2791 . . . . . . . 8  |-  s  e. 
_V
46 sseq2 3200 . . . . . . . . 9  |-  ( z  =  s  ->  (
(  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  <->  (  _I  |`  ( dom  R  u.  ran  R ) )  C_  s )
)
47 sseq2 3200 . . . . . . . . 9  |-  ( z  =  s  ->  ( R  C_  z  <->  R  C_  s
) )
48 id 19 . . . . . . . . . . 11  |-  ( z  =  s  ->  z  =  s )
4948, 48coeq12d 4848 . . . . . . . . . 10  |-  ( z  =  s  ->  (
z  o.  z )  =  ( s  o.  s ) )
5049, 48sseq12d 3207 . . . . . . . . 9  |-  ( z  =  s  ->  (
( z  o.  z
)  C_  z  <->  ( s  o.  s )  C_  s
) )
5146, 47, 503anbi123d 1252 . . . . . . . 8  |-  ( z  =  s  ->  (
( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z )  <->  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  s  /\  R  C_  s  /\  ( s  o.  s
)  C_  s )
) )
5245, 51elab 2914 . . . . . . 7  |-  ( s  e.  { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) } 
<->  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  s  /\  R  C_  s  /\  ( s  o.  s
)  C_  s )
)
5314, 13rtrclreclem.min 24044 . . . . . . . 8  |-  ( ph  ->  A. s ( ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  s  /\  R  C_  s  /\  ( s  o.  s
)  C_  s )  ->  ( t *rec `  R )  C_  s
) )
545319.21bi 1794 . . . . . . 7  |-  ( ph  ->  ( ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  s  /\  R  C_  s  /\  ( s  o.  s
)  C_  s )  ->  ( t *rec `  R )  C_  s
) )
5552, 54syl5bi 208 . . . . . 6  |-  ( ph  ->  ( s  e.  {
z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  (
z  o.  z ) 
C_  z ) }  ->  ( t *rec
`  R )  C_  s ) )
5655ralrimiv 2625 . . . . 5  |-  ( ph  ->  A. s  e.  {
z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  (
z  o.  z ) 
C_  z ) }  ( t *rec `  R )  C_  s
)
57 ssint 3878 . . . . 5  |-  ( ( t *rec `  R
)  C_  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) } 
<-> 
A. s  e.  {
z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  (
z  o.  z ) 
C_  z ) }  ( t *rec `  R )  C_  s
)
5856, 57sylibr 203 . . . 4  |-  ( ph  ->  ( t *rec `  R )  C_  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R ) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) } )
5944, 58eqssd 3196 . . 3  |-  ( ph  ->  |^| { z  |  ( (  _I  |`  ( dom  R  u.  ran  R
) )  C_  z  /\  R  C_  z  /\  ( z  o.  z
)  C_  z ) }  =  ( t *rec `  R )
)
6042, 59eqtrd 2315 . 2  |-  ( ph  ->  ( ( x  e. 
_V  |->  |^| { z  |  ( (  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  /\  x  C_  z  /\  ( z  o.  z
)  C_  z ) } ) `  R
)  =  ( t *rec `  R )
)
61 df-rtrcl 20852 . . 3  |-  t
*  =  ( x  e.  _V  |->  |^| { z  |  ( (  _I  |`  ( dom  x  u. 
ran  x ) ) 
C_  z  /\  x  C_  z  /\  ( z  o.  z )  C_  z ) } )
62 fveq1 5524 . . . . 5  |-  ( t *  =  ( x  e.  _V  |->  |^| { z  |  ( (  _I  |`  ( dom  x  u. 
ran  x ) ) 
C_  z  /\  x  C_  z  /\  ( z  o.  z )  C_  z ) } )  ->  ( t * `
 R )  =  ( ( x  e. 
_V  |->  |^| { z  |  ( (  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  /\  x  C_  z  /\  ( z  o.  z
)  C_  z ) } ) `  R
) )
6362eqeq1d 2291 . . . 4  |-  ( t *  =  ( x  e.  _V  |->  |^| { z  |  ( (  _I  |`  ( dom  x  u. 
ran  x ) ) 
C_  z  /\  x  C_  z  /\  ( z  o.  z )  C_  z ) } )  ->  ( ( t * `  R )  =  ( t *rec
`  R )  <->  ( (
x  e.  _V  |->  |^|
{ z  |  ( (  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  /\  x  C_  z  /\  ( z  o.  z
)  C_  z ) } ) `  R
)  =  ( t *rec `  R )
) )
6463imbi2d 307 . . 3  |-  ( t *  =  ( x  e.  _V  |->  |^| { z  |  ( (  _I  |`  ( dom  x  u. 
ran  x ) ) 
C_  z  /\  x  C_  z  /\  ( z  o.  z )  C_  z ) } )  ->  ( ( ph  ->  ( t * `  R )  =  ( t *rec `  R
) )  <->  ( ph  ->  ( ( x  e. 
_V  |->  |^| { z  |  ( (  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  /\  x  C_  z  /\  ( z  o.  z
)  C_  z ) } ) `  R
)  =  ( t *rec `  R )
) ) )
6561, 64ax-mp 8 . 2  |-  ( (
ph  ->  ( t * `
 R )  =  ( t *rec `  R ) )  <->  ( ph  ->  ( ( x  e. 
_V  |->  |^| { z  |  ( (  _I  |`  ( dom  x  u.  ran  x
) )  C_  z  /\  x  C_  z  /\  ( z  o.  z
)  C_  z ) } ) `  R
)  =  ( t *rec `  R )
) )
6660, 65mpbir 200 1  |-  ( ph  ->  ( t * `  R )  =  ( t *rec `  R
) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 176    /\ w3a 934   A.wal 1527    = wceq 1623    e. wcel 1684   {cab 2269    =/= wne 2446   A.wral 2543   _Vcvv 2788    u. cun 3150    C_ wss 3152   (/)c0 3455   U.cuni 3827   |^|cint 3862    e. cmpt 4077    _I cid 4304   dom cdm 4689   ran crn 4690    |` cres 4691    o. ccom 4693   Rel wrel 4694   ` cfv 5255   t *crtcl 20850   t *reccrtrcl 24038
This theorem is referenced by:  rtrclind  24046
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-13 1686  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-rep 4131  ax-sep 4141  ax-nul 4149  ax-pow 4188  ax-pr 4214  ax-un 4512  ax-cnex 8793  ax-resscn 8794  ax-1cn 8795  ax-icn 8796  ax-addcl 8797  ax-addrcl 8798  ax-mulcl 8799  ax-mulrcl 8800  ax-mulcom 8801  ax-addass 8802  ax-mulass 8803  ax-distr 8804  ax-i2m1 8805  ax-1ne0 8806  ax-1rid 8807  ax-rnegex 8808  ax-rrecex 8809  ax-cnre 8810  ax-pre-lttri 8811  ax-pre-lttrn 8812  ax-pre-ltadd 8813  ax-pre-mulgt0 8814
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-nel 2449  df-ral 2548  df-rex 2549  df-reu 2550  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-pss 3168  df-nul 3456  df-if 3566  df-pw 3627  df-sn 3646  df-pr 3647  df-tp 3648  df-op 3649  df-uni 3828  df-int 3863  df-iun 3907  df-br 4024  df-opab 4078  df-mpt 4079  df-tr 4114  df-eprel 4305  df-id 4309  df-po 4314  df-so 4315  df-fr 4352  df-we 4354  df-ord 4395  df-on 4396  df-lim 4397  df-suc 4398  df-om 4657  df-xp 4695  df-rel 4696  df-cnv 4697  df-co 4698  df-dm 4699  df-rn 4700  df-res 4701  df-ima 4702  df-iota 5219  df-fun 5257  df-fn 5258  df-f 5259  df-f1 5260  df-fo 5261  df-f1o 5262  df-fv 5263  df-ov 5861  df-oprab 5862  df-mpt2 5863  df-2nd 6123  df-riota 6304  df-recs 6388  df-rdg 6423  df-er 6660  df-en 6864  df-dom 6865  df-sdom 6866  df-pnf 8869  df-mnf 8870  df-xr 8871  df-ltxr 8872  df-le 8873  df-sub 9039  df-neg 9040  df-nn 9747  df-n0 9966  df-z 10025  df-uz 10231  df-seq 11047  df-rtrcl 20852  df-relexp 24024  df-rtrclrec 24039
  Copyright terms: Public domain W3C validator