Description: Implicit substitution of 2 classes for 2 setvar variables. (Contributed by NM, 20-Aug-1995) Avoid ax-10 and ax-11 . (Revised by Gino Giotto, 20-Aug-2023) (Proof shortened by Wolf Lammen, 23-Aug-2023)
Ref | Expression | ||
---|---|---|---|
Hypotheses | vtocl2ga.1 | |- ( x = A -> ( ph <-> ps ) ) |
|
vtocl2ga.2 | |- ( y = B -> ( ps <-> ch ) ) |
||
vtocl2ga.3 | |- ( ( x e. C /\ y e. D ) -> ph ) |
||
Assertion | vtocl2ga | |- ( ( A e. C /\ B e. D ) -> ch ) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | vtocl2ga.1 | |- ( x = A -> ( ph <-> ps ) ) |
|
2 | vtocl2ga.2 | |- ( y = B -> ( ps <-> ch ) ) |
|
3 | vtocl2ga.3 | |- ( ( x e. C /\ y e. D ) -> ph ) |
|
4 | 2 | imbi2d | |- ( y = B -> ( ( A e. C -> ps ) <-> ( A e. C -> ch ) ) ) |
5 | 1 | imbi2d | |- ( x = A -> ( ( y e. D -> ph ) <-> ( y e. D -> ps ) ) ) |
6 | 3 | ex | |- ( x e. C -> ( y e. D -> ph ) ) |
7 | 5 6 | vtoclga | |- ( A e. C -> ( y e. D -> ps ) ) |
8 | 7 | com12 | |- ( y e. D -> ( A e. C -> ps ) ) |
9 | 4 8 | vtoclga | |- ( B e. D -> ( A e. C -> ch ) ) |
10 | 9 | impcom | |- ( ( A e. C /\ B e. D ) -> ch ) |