HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem eqvincf 1408
Description: A variable introduction law for class equality, requiring only that x not be free in A and B (instead of not occurring in them).
Hypotheses
Ref Expression
eqvincf.1 |- (y e. A -> A.x y e. A)
eqvincf.2 |- (y e. B -> A.x y e. B)
eqvincf.3 |- A e. V
Assertion
Ref Expression
eqvincf |- (A = B <-> E.x(x = A /\ x = B))
Distinct variable group(s):   y,A   y,B   x,y

Proof of Theorem eqvincf
StepHypRef Expression
1 eqvincf.3 . . 3 |- A e. V
21eqvinc 1407 . 2 |- (A = B <-> E.y(y = A /\ y = B))
3 eqvincf.1 . . . . 5 |- (y e. A -> A.x y e. A)
43hbeleq 1173 . . . 4 |- (y = A -> A.x y = A)
5 eqvincf.2 . . . . 5 |- (y e. B -> A.x y e. B)
65hbeleq 1173 . . . 4 |- (y = B -> A.x y = B)
74, 6hban 704 . . 3 |- ((y = A /\ y = B) -> A.x(y = A /\ y = B))
8 ax-17 925 . . 3 |- ((x = A /\ x = B) -> A.y(x = A /\ x = B))
9 cleq1 1107 . . . 4 |- (y = x -> (y = A <-> x = A))
10 cleq1 1107 . . . 4 |- (y = x -> (y = B <-> x = B))
119, 10anbi12d 476 . . 3 |- (y = x -> ((y = A /\ y = B) <-> (x = A /\ x = B)))
127, 8, 11cbvex 849 . 2 |- (E.y(y = A /\ y = B) <-> E.x(x = A /\ x = B))
132, 12bitr 151 1 |- (A = B <-> E.x(x = A /\ x = B))
Colors of variables: wff set class
Syntax hints:   -> wi 2   <-> wb 127   /\ wa 196  A.wal 672  E.wex 678   = weq 797   = wceq 1091   e. wcel 1092  Vcvv 1348
This theorem is referenced by:  fvopabgf 2874  fvopabnf 2875
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-12 802  ax-17 925  ax-ext 1074
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-ex 679  df-sb 853  df-clab 1093  df-cleq 1097  df-clel 1099  df-v 1349
metamath.org