This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: An involution of the divisors of a number. (Contributed by Stefan O'Rear, 12-Sep-2015) (Proof shortened by Mario Carneiro, 13-May-2016)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | dvdsflip.a | |- A = { x e. NN | x || N } |
|
| dvdsflip.f | |- F = ( y e. A |-> ( N / y ) ) |
||
| Assertion | dvdsflip | |- ( N e. NN -> F : A -1-1-onto-> A ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | dvdsflip.a | |- A = { x e. NN | x || N } |
|
| 2 | dvdsflip.f | |- F = ( y e. A |-> ( N / y ) ) |
|
| 3 | 1 | eleq2i | |- ( y e. A <-> y e. { x e. NN | x || N } ) |
| 4 | dvdsdivcl | |- ( ( N e. NN /\ y e. { x e. NN | x || N } ) -> ( N / y ) e. { x e. NN | x || N } ) |
|
| 5 | 3 4 | sylan2b | |- ( ( N e. NN /\ y e. A ) -> ( N / y ) e. { x e. NN | x || N } ) |
| 6 | 5 1 | eleqtrrdi | |- ( ( N e. NN /\ y e. A ) -> ( N / y ) e. A ) |
| 7 | 1 | eleq2i | |- ( z e. A <-> z e. { x e. NN | x || N } ) |
| 8 | dvdsdivcl | |- ( ( N e. NN /\ z e. { x e. NN | x || N } ) -> ( N / z ) e. { x e. NN | x || N } ) |
|
| 9 | 7 8 | sylan2b | |- ( ( N e. NN /\ z e. A ) -> ( N / z ) e. { x e. NN | x || N } ) |
| 10 | 9 1 | eleqtrrdi | |- ( ( N e. NN /\ z e. A ) -> ( N / z ) e. A ) |
| 11 | 1 | ssrab3 | |- A C_ NN |
| 12 | 11 | sseli | |- ( y e. A -> y e. NN ) |
| 13 | 11 | sseli | |- ( z e. A -> z e. NN ) |
| 14 | 12 13 | anim12i | |- ( ( y e. A /\ z e. A ) -> ( y e. NN /\ z e. NN ) ) |
| 15 | nncn | |- ( N e. NN -> N e. CC ) |
|
| 16 | 15 | adantr | |- ( ( N e. NN /\ ( y e. NN /\ z e. NN ) ) -> N e. CC ) |
| 17 | nncn | |- ( y e. NN -> y e. CC ) |
|
| 18 | 17 | ad2antrl | |- ( ( N e. NN /\ ( y e. NN /\ z e. NN ) ) -> y e. CC ) |
| 19 | nncn | |- ( z e. NN -> z e. CC ) |
|
| 20 | 19 | ad2antll | |- ( ( N e. NN /\ ( y e. NN /\ z e. NN ) ) -> z e. CC ) |
| 21 | nnne0 | |- ( z e. NN -> z =/= 0 ) |
|
| 22 | 21 | ad2antll | |- ( ( N e. NN /\ ( y e. NN /\ z e. NN ) ) -> z =/= 0 ) |
| 23 | 16 18 20 22 | divmul3d | |- ( ( N e. NN /\ ( y e. NN /\ z e. NN ) ) -> ( ( N / z ) = y <-> N = ( y x. z ) ) ) |
| 24 | nnne0 | |- ( y e. NN -> y =/= 0 ) |
|
| 25 | 24 | ad2antrl | |- ( ( N e. NN /\ ( y e. NN /\ z e. NN ) ) -> y =/= 0 ) |
| 26 | 16 20 18 25 | divmul2d | |- ( ( N e. NN /\ ( y e. NN /\ z e. NN ) ) -> ( ( N / y ) = z <-> N = ( y x. z ) ) ) |
| 27 | 23 26 | bitr4d | |- ( ( N e. NN /\ ( y e. NN /\ z e. NN ) ) -> ( ( N / z ) = y <-> ( N / y ) = z ) ) |
| 28 | 14 27 | sylan2 | |- ( ( N e. NN /\ ( y e. A /\ z e. A ) ) -> ( ( N / z ) = y <-> ( N / y ) = z ) ) |
| 29 | eqcom | |- ( y = ( N / z ) <-> ( N / z ) = y ) |
|
| 30 | eqcom | |- ( z = ( N / y ) <-> ( N / y ) = z ) |
|
| 31 | 28 29 30 | 3bitr4g | |- ( ( N e. NN /\ ( y e. A /\ z e. A ) ) -> ( y = ( N / z ) <-> z = ( N / y ) ) ) |
| 32 | 2 6 10 31 | f1o2d | |- ( N e. NN -> F : A -1-1-onto-> A ) |