Metamath Proof Explorer


Theorem 2alsraln0

Description: Nested general "all some" quantifiers with class membership as their antecedents: ph holds for every x in A and every y in B , and both A and B are not empty. (Contributed by Peter Mazsa, 28-May-2019) (Revised by David A. Wheeler, 15-Jul-2026)

Ref Expression
Assertion 2alsraln0
|- ( AE x ( x e. A -> AE y ( y e. B -> ph ) ) <-> ( A. x e. A A. y e. B ph /\ ( A =/= (/) /\ B =/= (/) ) ) )

Proof

Step Hyp Ref Expression
1 biid
 |-  ( x e. A <-> x e. A )
2 alsraln0
 |-  ( AE y ( y e. B -> ph ) <-> ( A. y e. B ph /\ B =/= (/) ) )
3 1 2 alsbii
 |-  ( AE x ( x e. A -> AE y ( y e. B -> ph ) ) <-> AE x ( x e. A -> ( A. y e. B ph /\ B =/= (/) ) ) )
4 alsraln0
 |-  ( AE x ( x e. A -> ( A. y e. B ph /\ B =/= (/) ) ) <-> ( A. x e. A ( A. y e. B ph /\ B =/= (/) ) /\ A =/= (/) ) )
5 r19.27zv
 |-  ( A =/= (/) -> ( A. x e. A ( A. y e. B ph /\ B =/= (/) ) <-> ( A. x e. A A. y e. B ph /\ B =/= (/) ) ) )
6 5 pm5.32ri
 |-  ( ( A. x e. A ( A. y e. B ph /\ B =/= (/) ) /\ A =/= (/) ) <-> ( ( A. x e. A A. y e. B ph /\ B =/= (/) ) /\ A =/= (/) ) )
7 anass
 |-  ( ( ( A. x e. A A. y e. B ph /\ B =/= (/) ) /\ A =/= (/) ) <-> ( A. x e. A A. y e. B ph /\ ( B =/= (/) /\ A =/= (/) ) ) )
8 ancom
 |-  ( ( B =/= (/) /\ A =/= (/) ) <-> ( A =/= (/) /\ B =/= (/) ) )
9 8 anbi2i
 |-  ( ( A. x e. A A. y e. B ph /\ ( B =/= (/) /\ A =/= (/) ) ) <-> ( A. x e. A A. y e. B ph /\ ( A =/= (/) /\ B =/= (/) ) ) )
10 7 9 bitri
 |-  ( ( ( A. x e. A A. y e. B ph /\ B =/= (/) ) /\ A =/= (/) ) <-> ( A. x e. A A. y e. B ph /\ ( A =/= (/) /\ B =/= (/) ) ) )
11 6 10 bitri
 |-  ( ( A. x e. A ( A. y e. B ph /\ B =/= (/) ) /\ A =/= (/) ) <-> ( A. x e. A A. y e. B ph /\ ( A =/= (/) /\ B =/= (/) ) ) )
12 4 11 bitri
 |-  ( AE x ( x e. A -> ( A. y e. B ph /\ B =/= (/) ) ) <-> ( A. x e. A A. y e. B ph /\ ( A =/= (/) /\ B =/= (/) ) ) )
13 3 12 bitri
 |-  ( AE x ( x e. A -> AE y ( y e. B -> ph ) ) <-> ( A. x e. A A. y e. B ph /\ ( A =/= (/) /\ B =/= (/) ) ) )