This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Value of structure restriction. (Contributed by Stefan O'Rear, 29-Nov-2014)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | ressbas.r | |- R = ( W |`s A ) |
|
| ressbas.b | |- B = ( Base ` W ) |
||
| Assertion | ressval | |- ( ( W e. X /\ A e. Y ) -> R = if ( B C_ A , W , ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | ressbas.r | |- R = ( W |`s A ) |
|
| 2 | ressbas.b | |- B = ( Base ` W ) |
|
| 3 | elex | |- ( W e. X -> W e. _V ) |
|
| 4 | elex | |- ( A e. Y -> A e. _V ) |
|
| 5 | simpl | |- ( ( W e. _V /\ A e. _V ) -> W e. _V ) |
|
| 6 | ovex | |- ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) e. _V |
|
| 7 | ifcl | |- ( ( W e. _V /\ ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) e. _V ) -> if ( B C_ A , W , ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) e. _V ) |
|
| 8 | 5 6 7 | sylancl | |- ( ( W e. _V /\ A e. _V ) -> if ( B C_ A , W , ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) e. _V ) |
| 9 | simpl | |- ( ( w = W /\ a = A ) -> w = W ) |
|
| 10 | 9 | fveq2d | |- ( ( w = W /\ a = A ) -> ( Base ` w ) = ( Base ` W ) ) |
| 11 | 10 2 | eqtr4di | |- ( ( w = W /\ a = A ) -> ( Base ` w ) = B ) |
| 12 | simpr | |- ( ( w = W /\ a = A ) -> a = A ) |
|
| 13 | 11 12 | sseq12d | |- ( ( w = W /\ a = A ) -> ( ( Base ` w ) C_ a <-> B C_ A ) ) |
| 14 | 12 11 | ineq12d | |- ( ( w = W /\ a = A ) -> ( a i^i ( Base ` w ) ) = ( A i^i B ) ) |
| 15 | 14 | opeq2d | |- ( ( w = W /\ a = A ) -> <. ( Base ` ndx ) , ( a i^i ( Base ` w ) ) >. = <. ( Base ` ndx ) , ( A i^i B ) >. ) |
| 16 | 9 15 | oveq12d | |- ( ( w = W /\ a = A ) -> ( w sSet <. ( Base ` ndx ) , ( a i^i ( Base ` w ) ) >. ) = ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) |
| 17 | 13 9 16 | ifbieq12d | |- ( ( w = W /\ a = A ) -> if ( ( Base ` w ) C_ a , w , ( w sSet <. ( Base ` ndx ) , ( a i^i ( Base ` w ) ) >. ) ) = if ( B C_ A , W , ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) ) |
| 18 | df-ress | |- |`s = ( w e. _V , a e. _V |-> if ( ( Base ` w ) C_ a , w , ( w sSet <. ( Base ` ndx ) , ( a i^i ( Base ` w ) ) >. ) ) ) |
|
| 19 | 17 18 | ovmpoga | |- ( ( W e. _V /\ A e. _V /\ if ( B C_ A , W , ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) e. _V ) -> ( W |`s A ) = if ( B C_ A , W , ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) ) |
| 20 | 8 19 | mpd3an3 | |- ( ( W e. _V /\ A e. _V ) -> ( W |`s A ) = if ( B C_ A , W , ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) ) |
| 21 | 3 4 20 | syl2an | |- ( ( W e. X /\ A e. Y ) -> ( W |`s A ) = if ( B C_ A , W , ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) ) |
| 22 | 1 21 | eqtrid | |- ( ( W e. X /\ A e. Y ) -> R = if ( B C_ A , W , ( W sSet <. ( Base ` ndx ) , ( A i^i B ) >. ) ) ) |