ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  dvdsabseq GIF version

Theorem dvdsabseq 12431
Description: If two integers divide each other, they must be equal, up to a difference in sign. Theorem 1.1(j) in [ApostolNT] p. 14. (Contributed by Mario Carneiro, 30-May-2014.) (Revised by AV, 7-Aug-2021.)
Assertion
Ref Expression
dvdsabseq ((𝑀𝑁𝑁𝑀) → (abs‘𝑀) = (abs‘𝑁))

Proof of Theorem dvdsabseq
StepHypRef Expression
1 dvdszrcl 12376 . . 3 (𝑀𝑁 → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ))
2 simpr 110 . . . . . . 7 ((𝑀𝑁𝑁𝑀) → 𝑁𝑀)
3 breq1 4092 . . . . . . . . 9 (𝑁 = 0 → (𝑁𝑀 ↔ 0 ∥ 𝑀))
4 0dvds 12395 . . . . . . . . . . 11 (𝑀 ∈ ℤ → (0 ∥ 𝑀𝑀 = 0))
54adantr 276 . . . . . . . . . 10 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 ∥ 𝑀𝑀 = 0))
6 zcn 9489 . . . . . . . . . . . . 13 (𝑀 ∈ ℤ → 𝑀 ∈ ℂ)
76abs00ad 11648 . . . . . . . . . . . 12 (𝑀 ∈ ℤ → ((abs‘𝑀) = 0 ↔ 𝑀 = 0))
87bicomd 141 . . . . . . . . . . 11 (𝑀 ∈ ℤ → (𝑀 = 0 ↔ (abs‘𝑀) = 0))
98adantr 276 . . . . . . . . . 10 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 = 0 ↔ (abs‘𝑀) = 0))
105, 9bitrd 188 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 ∥ 𝑀 ↔ (abs‘𝑀) = 0))
113, 10sylan9bb 462 . . . . . . . 8 ((𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑁𝑀 ↔ (abs‘𝑀) = 0))
12 fveq2 5642 . . . . . . . . . . 11 (𝑁 = 0 → (abs‘𝑁) = (abs‘0))
13 abs0 11641 . . . . . . . . . . 11 (abs‘0) = 0
1412, 13eqtrdi 2279 . . . . . . . . . 10 (𝑁 = 0 → (abs‘𝑁) = 0)
1514adantr 276 . . . . . . . . 9 ((𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (abs‘𝑁) = 0)
1615eqeq2d 2242 . . . . . . . 8 ((𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → ((abs‘𝑀) = (abs‘𝑁) ↔ (abs‘𝑀) = 0))
1711, 16bitr4d 191 . . . . . . 7 ((𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑁𝑀 ↔ (abs‘𝑀) = (abs‘𝑁)))
182, 17imbitrid 154 . . . . . 6 ((𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → ((𝑀𝑁𝑁𝑀) → (abs‘𝑀) = (abs‘𝑁)))
1918expd 258 . . . . 5 ((𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → (𝑁𝑀 → (abs‘𝑀) = (abs‘𝑁))))
2019expcom 116 . . . 4 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑁 = 0 → (𝑀𝑁 → (𝑁𝑀 → (abs‘𝑀) = (abs‘𝑁)))))
21 simprl 531 . . . . . . 7 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑀 ∈ ℤ)
22 simpr 110 . . . . . . . 8 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → 𝑁 ∈ ℤ)
2322adantl 277 . . . . . . 7 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑁 ∈ ℤ)
24 neqne 2409 . . . . . . . 8 𝑁 = 0 → 𝑁 ≠ 0)
2524adantr 276 . . . . . . 7 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑁 ≠ 0)
26 dvdsleabs2 12430 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (𝑀𝑁 → (abs‘𝑀) ≤ (abs‘𝑁)))
2721, 23, 25, 26syl3anc 1273 . . . . . 6 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → (abs‘𝑀) ≤ (abs‘𝑁)))
28 simpr 110 . . . . . . . . . . . . 13 ((𝑁𝑀𝑀𝑁) → 𝑀𝑁)
29 breq1 4092 . . . . . . . . . . . . . . 15 (𝑀 = 0 → (𝑀𝑁 ↔ 0 ∥ 𝑁))
30 0dvds 12395 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → (0 ∥ 𝑁𝑁 = 0))
31 zcn 9489 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
3231abs00ad 11648 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℤ → ((abs‘𝑁) = 0 ↔ 𝑁 = 0))
33 eqcom 2232 . . . . . . . . . . . . . . . . . 18 ((abs‘𝑁) = 0 ↔ 0 = (abs‘𝑁))
3432, 33bitr3di 195 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → (𝑁 = 0 ↔ 0 = (abs‘𝑁)))
3530, 34bitrd 188 . . . . . . . . . . . . . . . 16 (𝑁 ∈ ℤ → (0 ∥ 𝑁 ↔ 0 = (abs‘𝑁)))
3635adantl 277 . . . . . . . . . . . . . . 15 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 ∥ 𝑁 ↔ 0 = (abs‘𝑁)))
3729, 36sylan9bb 462 . . . . . . . . . . . . . 14 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 ↔ 0 = (abs‘𝑁)))
38 fveq2 5642 . . . . . . . . . . . . . . . . 17 (𝑀 = 0 → (abs‘𝑀) = (abs‘0))
3938, 13eqtrdi 2279 . . . . . . . . . . . . . . . 16 (𝑀 = 0 → (abs‘𝑀) = 0)
4039adantr 276 . . . . . . . . . . . . . . 15 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (abs‘𝑀) = 0)
4140eqeq1d 2239 . . . . . . . . . . . . . 14 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → ((abs‘𝑀) = (abs‘𝑁) ↔ 0 = (abs‘𝑁)))
4237, 41bitr4d 191 . . . . . . . . . . . . 13 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 ↔ (abs‘𝑀) = (abs‘𝑁)))
4328, 42imbitrid 154 . . . . . . . . . . . 12 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → ((𝑁𝑀𝑀𝑁) → (abs‘𝑀) = (abs‘𝑁)))
4443a1dd 48 . . . . . . . . . . 11 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → ((𝑁𝑀𝑀𝑁) → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁))))
4544expcomd 1486 . . . . . . . . . 10 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → (𝑁𝑀 → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁)))))
4645expcom 116 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 = 0 → (𝑀𝑁 → (𝑁𝑀 → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁))))))
4722adantl 277 . . . . . . . . . . . . 13 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑁 ∈ ℤ)
48 simprl 531 . . . . . . . . . . . . 13 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑀 ∈ ℤ)
49 neqne 2409 . . . . . . . . . . . . . 14 𝑀 = 0 → 𝑀 ≠ 0)
5049adantr 276 . . . . . . . . . . . . 13 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑀 ≠ 0)
51 dvdsleabs2 12430 . . . . . . . . . . . . 13 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (𝑁𝑀 → (abs‘𝑁) ≤ (abs‘𝑀)))
5247, 48, 50, 51syl3anc 1273 . . . . . . . . . . . 12 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑁𝑀 → (abs‘𝑁) ≤ (abs‘𝑀)))
53 eqcom 2232 . . . . . . . . . . . . . . . 16 ((abs‘𝑀) = (abs‘𝑁) ↔ (abs‘𝑁) = (abs‘𝑀))
5431abscld 11764 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → (abs‘𝑁) ∈ ℝ)
556abscld 11764 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ ℤ → (abs‘𝑀) ∈ ℝ)
56 letri3 8265 . . . . . . . . . . . . . . . . 17 (((abs‘𝑁) ∈ ℝ ∧ (abs‘𝑀) ∈ ℝ) → ((abs‘𝑁) = (abs‘𝑀) ↔ ((abs‘𝑁) ≤ (abs‘𝑀) ∧ (abs‘𝑀) ≤ (abs‘𝑁))))
5754, 55, 56syl2anr 290 . . . . . . . . . . . . . . . 16 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑁) = (abs‘𝑀) ↔ ((abs‘𝑁) ≤ (abs‘𝑀) ∧ (abs‘𝑀) ≤ (abs‘𝑁))))
5853, 57bitrid 192 . . . . . . . . . . . . . . 15 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) = (abs‘𝑁) ↔ ((abs‘𝑁) ≤ (abs‘𝑀) ∧ (abs‘𝑀) ≤ (abs‘𝑁))))
5958biimprd 158 . . . . . . . . . . . . . 14 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (((abs‘𝑁) ≤ (abs‘𝑀) ∧ (abs‘𝑀) ≤ (abs‘𝑁)) → (abs‘𝑀) = (abs‘𝑁)))
6059expd 258 . . . . . . . . . . . . 13 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑁) ≤ (abs‘𝑀) → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁))))
6160adantl 277 . . . . . . . . . . . 12 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → ((abs‘𝑁) ≤ (abs‘𝑀) → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁))))
6252, 61syld 45 . . . . . . . . . . 11 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑁𝑀 → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁))))
6362a1d 22 . . . . . . . . . 10 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → (𝑁𝑀 → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁)))))
6463expcom 116 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (¬ 𝑀 = 0 → (𝑀𝑁 → (𝑁𝑀 → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁))))))
65 0z 9495 . . . . . . . . . . . 12 0 ∈ ℤ
66 zdceq 9560 . . . . . . . . . . . 12 ((𝑀 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑀 = 0)
6765, 66mpan2 425 . . . . . . . . . . 11 (𝑀 ∈ ℤ → DECID 𝑀 = 0)
68 exmiddc 843 . . . . . . . . . . 11 (DECID 𝑀 = 0 → (𝑀 = 0 ∨ ¬ 𝑀 = 0))
6967, 68syl 14 . . . . . . . . . 10 (𝑀 ∈ ℤ → (𝑀 = 0 ∨ ¬ 𝑀 = 0))
7069adantr 276 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 = 0 ∨ ¬ 𝑀 = 0))
7146, 64, 70mpjaod 725 . . . . . . . 8 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 → (𝑁𝑀 → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁)))))
7271com34 83 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 → ((abs‘𝑀) ≤ (abs‘𝑁) → (𝑁𝑀 → (abs‘𝑀) = (abs‘𝑁)))))
7372adantl 277 . . . . . 6 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → ((abs‘𝑀) ≤ (abs‘𝑁) → (𝑁𝑀 → (abs‘𝑀) = (abs‘𝑁)))))
7427, 73mpdd 41 . . . . 5 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → (𝑁𝑀 → (abs‘𝑀) = (abs‘𝑁))))
7574expcom 116 . . . 4 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (¬ 𝑁 = 0 → (𝑀𝑁 → (𝑁𝑀 → (abs‘𝑀) = (abs‘𝑁)))))
76 zdceq 9560 . . . . . . 7 ((𝑁 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑁 = 0)
7765, 76mpan2 425 . . . . . 6 (𝑁 ∈ ℤ → DECID 𝑁 = 0)
78 exmiddc 843 . . . . . 6 (DECID 𝑁 = 0 → (𝑁 = 0 ∨ ¬ 𝑁 = 0))
7977, 78syl 14 . . . . 5 (𝑁 ∈ ℤ → (𝑁 = 0 ∨ ¬ 𝑁 = 0))
8079adantl 277 . . . 4 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑁 = 0 ∨ ¬ 𝑁 = 0))
8120, 75, 80mpjaod 725 . . 3 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 → (𝑁𝑀 → (abs‘𝑀) = (abs‘𝑁))))
821, 81mpcom 36 . 2 (𝑀𝑁 → (𝑁𝑀 → (abs‘𝑀) = (abs‘𝑁)))
8382imp 124 1 ((𝑀𝑁𝑁𝑀) → (abs‘𝑀) = (abs‘𝑁))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wb 105  wo 715  DECID wdc 841   = wceq 1397  wcel 2201  wne 2401   class class class wbr 4089  cfv 5328  cr 8036  0cc0 8037  cle 8220  cz 9484  abscabs 11580  cdvds 12371
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 619  ax-in2 620  ax-io 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-13 2203  ax-14 2204  ax-ext 2212  ax-coll 4205  ax-sep 4208  ax-nul 4216  ax-pow 4266  ax-pr 4301  ax-un 4532  ax-setind 4637  ax-iinf 4688  ax-cnex 8128  ax-resscn 8129  ax-1cn 8130  ax-1re 8131  ax-icn 8132  ax-addcl 8133  ax-addrcl 8134  ax-mulcl 8135  ax-mulrcl 8136  ax-addcom 8137  ax-mulcom 8138  ax-addass 8139  ax-mulass 8140  ax-distr 8141  ax-i2m1 8142  ax-0lt1 8143  ax-1rid 8144  ax-0id 8145  ax-rnegex 8146  ax-precex 8147  ax-cnre 8148  ax-pre-ltirr 8149  ax-pre-ltwlin 8150  ax-pre-lttrn 8151  ax-pre-apti 8152  ax-pre-ltadd 8153  ax-pre-mulgt0 8154  ax-pre-mulext 8155  ax-arch 8156  ax-caucvg 8157
This theorem depends on definitions:  df-bi 117  df-dc 842  df-3or 1005  df-3an 1006  df-tru 1400  df-fal 1403  df-nf 1509  df-sb 1810  df-eu 2081  df-mo 2082  df-clab 2217  df-cleq 2223  df-clel 2226  df-nfc 2362  df-ne 2402  df-nel 2497  df-ral 2514  df-rex 2515  df-reu 2516  df-rmo 2517  df-rab 2518  df-v 2803  df-sbc 3031  df-csb 3127  df-dif 3201  df-un 3203  df-in 3205  df-ss 3212  df-nul 3494  df-if 3605  df-pw 3655  df-sn 3676  df-pr 3677  df-op 3679  df-uni 3895  df-int 3930  df-iun 3973  df-br 4090  df-opab 4152  df-mpt 4153  df-tr 4189  df-id 4392  df-po 4395  df-iso 4396  df-iord 4465  df-on 4467  df-ilim 4468  df-suc 4470  df-iom 4691  df-xp 4733  df-rel 4734  df-cnv 4735  df-co 4736  df-dm 4737  df-rn 4738  df-res 4739  df-ima 4740  df-iota 5288  df-fun 5330  df-fn 5331  df-f 5332  df-f1 5333  df-fo 5334  df-f1o 5335  df-fv 5336  df-riota 5976  df-ov 6026  df-oprab 6027  df-mpo 6028  df-1st 6308  df-2nd 6309  df-recs 6476  df-frec 6562  df-pnf 8221  df-mnf 8222  df-xr 8223  df-ltxr 8224  df-le 8225  df-sub 8357  df-neg 8358  df-reap 8760  df-ap 8767  df-div 8858  df-inn 9149  df-2 9207  df-3 9208  df-4 9209  df-n0 9408  df-z 9485  df-uz 9761  df-q 9859  df-rp 9894  df-seqfrec 10716  df-exp 10807  df-cj 11425  df-re 11426  df-im 11427  df-rsqrt 11581  df-abs 11582  df-dvds 12372
This theorem is referenced by:  dvdseq  12432
  Copyright terms: Public domain W3C validator