Metamath Proof Explorer


Theorem rabrab

Description: Abstract builder restricted to another restricted abstract builder. (Contributed by Thierry Arnoux, 30-Aug-2017)

Ref Expression
Assertion rabrab
|- { x e. { x e. A | ph } | ps } = { x e. A | ( ph /\ ps ) }

Proof

Step Hyp Ref Expression
1 rabid
 |-  ( x e. { x e. A | ph } <-> ( x e. A /\ ph ) )
2 1 anbi1i
 |-  ( ( x e. { x e. A | ph } /\ ps ) <-> ( ( x e. A /\ ph ) /\ ps ) )
3 anass
 |-  ( ( ( x e. A /\ ph ) /\ ps ) <-> ( x e. A /\ ( ph /\ ps ) ) )
4 2 3 bitri
 |-  ( ( x e. { x e. A | ph } /\ ps ) <-> ( x e. A /\ ( ph /\ ps ) ) )
5 4 abbii
 |-  { x | ( x e. { x e. A | ph } /\ ps ) } = { x | ( x e. A /\ ( ph /\ ps ) ) }
6 df-rab
 |-  { x e. { x e. A | ph } | ps } = { x | ( x e. { x e. A | ph } /\ ps ) }
7 df-rab
 |-  { x e. A | ( ph /\ ps ) } = { x | ( x e. A /\ ( ph /\ ps ) ) }
8 5 6 7 3eqtr4i
 |-  { x e. { x e. A | ph } | ps } = { x e. A | ( ph /\ ps ) }