This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Alternate definition of a function. (Contributed by NM, 29-Dec-1996) Avoid ax-10 , ax-12 . (Revised by SN, 19-Dec-2024) Avoid ax-11 . (Revised by BTernaryTau, 29-Dec-2024)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | dffun2 | |- ( Fun A <-> ( Rel A /\ A. x A. y A. z ( ( x A y /\ x A z ) -> y = z ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | df-fun | |- ( Fun A <-> ( Rel A /\ ( A o. `' A ) C_ _I ) ) |
|
| 2 | cotrg | |- ( ( A o. `' A ) C_ _I <-> A. y A. x A. z ( ( y `' A x /\ x A z ) -> y _I z ) ) |
|
| 3 | breq1 | |- ( y = w -> ( y `' A x <-> w `' A x ) ) |
|
| 4 | 3 | anbi1d | |- ( y = w -> ( ( y `' A x /\ x A z ) <-> ( w `' A x /\ x A z ) ) ) |
| 5 | breq1 | |- ( y = w -> ( y _I z <-> w _I z ) ) |
|
| 6 | 4 5 | imbi12d | |- ( y = w -> ( ( ( y `' A x /\ x A z ) -> y _I z ) <-> ( ( w `' A x /\ x A z ) -> w _I z ) ) ) |
| 7 | 6 | albidv | |- ( y = w -> ( A. z ( ( y `' A x /\ x A z ) -> y _I z ) <-> A. z ( ( w `' A x /\ x A z ) -> w _I z ) ) ) |
| 8 | breq2 | |- ( x = w -> ( y `' A x <-> y `' A w ) ) |
|
| 9 | breq1 | |- ( x = w -> ( x A z <-> w A z ) ) |
|
| 10 | 8 9 | anbi12d | |- ( x = w -> ( ( y `' A x /\ x A z ) <-> ( y `' A w /\ w A z ) ) ) |
| 11 | 10 | imbi1d | |- ( x = w -> ( ( ( y `' A x /\ x A z ) -> y _I z ) <-> ( ( y `' A w /\ w A z ) -> y _I z ) ) ) |
| 12 | 11 | albidv | |- ( x = w -> ( A. z ( ( y `' A x /\ x A z ) -> y _I z ) <-> A. z ( ( y `' A w /\ w A z ) -> y _I z ) ) ) |
| 13 | 7 12 | alcomw | |- ( A. y A. x A. z ( ( y `' A x /\ x A z ) -> y _I z ) <-> A. x A. y A. z ( ( y `' A x /\ x A z ) -> y _I z ) ) |
| 14 | vex | |- y e. _V |
|
| 15 | vex | |- x e. _V |
|
| 16 | 14 15 | brcnv | |- ( y `' A x <-> x A y ) |
| 17 | 16 | anbi1i | |- ( ( y `' A x /\ x A z ) <-> ( x A y /\ x A z ) ) |
| 18 | vex | |- z e. _V |
|
| 19 | 18 | ideq | |- ( y _I z <-> y = z ) |
| 20 | 17 19 | imbi12i | |- ( ( ( y `' A x /\ x A z ) -> y _I z ) <-> ( ( x A y /\ x A z ) -> y = z ) ) |
| 21 | 20 | 3albii | |- ( A. x A. y A. z ( ( y `' A x /\ x A z ) -> y _I z ) <-> A. x A. y A. z ( ( x A y /\ x A z ) -> y = z ) ) |
| 22 | 13 21 | bitri | |- ( A. y A. x A. z ( ( y `' A x /\ x A z ) -> y _I z ) <-> A. x A. y A. z ( ( x A y /\ x A z ) -> y = z ) ) |
| 23 | 2 22 | bitri | |- ( ( A o. `' A ) C_ _I <-> A. x A. y A. z ( ( x A y /\ x A z ) -> y = z ) ) |
| 24 | 23 | anbi2i | |- ( ( Rel A /\ ( A o. `' A ) C_ _I ) <-> ( Rel A /\ A. x A. y A. z ( ( x A y /\ x A z ) -> y = z ) ) ) |
| 25 | 1 24 | bitri | |- ( Fun A <-> ( Rel A /\ A. x A. y A. z ( ( x A y /\ x A z ) -> y = z ) ) ) |