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

Theorem dvdsabseq 11989
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 11935 . . 3 (𝑀𝑁 → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ))
2 simpr 110 . . . . . . 7 ((𝑀𝑁𝑁𝑀) → 𝑁𝑀)
3 breq1 4032 . . . . . . . . 9 (𝑁 = 0 → (𝑁𝑀 ↔ 0 ∥ 𝑀))
4 0dvds 11954 . . . . . . . . . . 11 (𝑀 ∈ ℤ → (0 ∥ 𝑀𝑀 = 0))
54adantr 276 . . . . . . . . . 10 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 ∥ 𝑀𝑀 = 0))
6 zcn 9322 . . . . . . . . . . . . 13 (𝑀 ∈ ℤ → 𝑀 ∈ ℂ)
76abs00ad 11209 . . . . . . . . . . . 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 5554 . . . . . . . . . . 11 (𝑁 = 0 → (abs‘𝑁) = (abs‘0))
13 abs0 11202 . . . . . . . . . . 11 (abs‘0) = 0
1412, 13eqtrdi 2242 . . . . . . . . . 10 (𝑁 = 0 → (abs‘𝑁) = 0)
1514adantr 276 . . . . . . . . 9 ((𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (abs‘𝑁) = 0)
1615eqeq2d 2205 . . . . . . . 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 529 . . . . . . 7 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑀 ∈ ℤ)
22 simpr 110 . . . . . . . 8 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → 𝑁 ∈ ℤ)
2322adantl 277 . . . . . . 7 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑁 ∈ ℤ)
24 neqne 2372 . . . . . . . 8 𝑁 = 0 → 𝑁 ≠ 0)
2524adantr 276 . . . . . . 7 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑁 ≠ 0)
26 dvdsleabs2 11988 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (𝑀𝑁 → (abs‘𝑀) ≤ (abs‘𝑁)))
2721, 23, 25, 26syl3anc 1249 . . . . . 6 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → (abs‘𝑀) ≤ (abs‘𝑁)))
28 simpr 110 . . . . . . . . . . . . 13 ((𝑁𝑀𝑀𝑁) → 𝑀𝑁)
29 breq1 4032 . . . . . . . . . . . . . . 15 (𝑀 = 0 → (𝑀𝑁 ↔ 0 ∥ 𝑁))
30 0dvds 11954 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → (0 ∥ 𝑁𝑁 = 0))
31 zcn 9322 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
3231abs00ad 11209 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℤ → ((abs‘𝑁) = 0 ↔ 𝑁 = 0))
33 eqcom 2195 . . . . . . . . . . . . . . . . . 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 5554 . . . . . . . . . . . . . . . . 17 (𝑀 = 0 → (abs‘𝑀) = (abs‘0))
3938, 13eqtrdi 2242 . . . . . . . . . . . . . . . 16 (𝑀 = 0 → (abs‘𝑀) = 0)
4039adantr 276 . . . . . . . . . . . . . . 15 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (abs‘𝑀) = 0)
4140eqeq1d 2202 . . . . . . . . . . . . . 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 1452 . . . . . . . . . 10 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → (𝑁𝑀 → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁)))))
4645expcom 116 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 = 0 → (𝑀𝑁 → (𝑁𝑀 → ((abs‘𝑀) ≤ (abs‘𝑁) → (abs‘𝑀) = (abs‘𝑁))))))
4722adantl 277 . . . . . . . . . . . . 13 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑁 ∈ ℤ)
48 simprl 529 . . . . . . . . . . . . 13 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑀 ∈ ℤ)
49 neqne 2372 . . . . . . . . . . . . . 14 𝑀 = 0 → 𝑀 ≠ 0)
5049adantr 276 . . . . . . . . . . . . 13 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑀 ≠ 0)
51 dvdsleabs2 11988 . . . . . . . . . . . . 13 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (𝑁𝑀 → (abs‘𝑁) ≤ (abs‘𝑀)))
5247, 48, 50, 51syl3anc 1249 . . . . . . . . . . . 12 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑁𝑀 → (abs‘𝑁) ≤ (abs‘𝑀)))
53 eqcom 2195 . . . . . . . . . . . . . . . 16 ((abs‘𝑀) = (abs‘𝑁) ↔ (abs‘𝑁) = (abs‘𝑀))
5431abscld 11325 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → (abs‘𝑁) ∈ ℝ)
556abscld 11325 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ ℤ → (abs‘𝑀) ∈ ℝ)
56 letri3 8100 . . . . . . . . . . . . . . . . 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 9328 . . . . . . . . . . . 12 0 ∈ ℤ
66 zdceq 9392 . . . . . . . . . . . 12 ((𝑀 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑀 = 0)
6765, 66mpan2 425 . . . . . . . . . . 11 (𝑀 ∈ ℤ → DECID 𝑀 = 0)
68 exmiddc 837 . . . . . . . . . . 11 (DECID 𝑀 = 0 → (𝑀 = 0 ∨ ¬ 𝑀 = 0))
6967, 68syl 14 . . . . . . . . . 10 (𝑀 ∈ ℤ → (𝑀 = 0 ∨ ¬ 𝑀 = 0))
7069adantr 276 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 = 0 ∨ ¬ 𝑀 = 0))
7146, 64, 70mpjaod 719 . . . . . . . 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 9392 . . . . . . 7 ((𝑁 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑁 = 0)
7765, 76mpan2 425 . . . . . 6 (𝑁 ∈ ℤ → DECID 𝑁 = 0)
78 exmiddc 837 . . . . . 6 (DECID 𝑁 = 0 → (𝑁 = 0 ∨ ¬ 𝑁 = 0))
7977, 78syl 14 . . . . 5 (𝑁 ∈ ℤ → (𝑁 = 0 ∨ ¬ 𝑁 = 0))
8079adantl 277 . . . 4 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑁 = 0 ∨ ¬ 𝑁 = 0))
8120, 75, 80mpjaod 719 . . 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 709  DECID wdc 835   = wceq 1364  wcel 2164  wne 2364   class class class wbr 4029  cfv 5254  cr 7871  0cc0 7872  cle 8055  cz 9317  abscabs 11141  cdvds 11930
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 615  ax-in2 616  ax-io 710  ax-5 1458  ax-7 1459  ax-gen 1460  ax-ie1 1504  ax-ie2 1505  ax-8 1515  ax-10 1516  ax-11 1517  ax-i12 1518  ax-bndl 1520  ax-4 1521  ax-17 1537  ax-i9 1541  ax-ial 1545  ax-i5r 1546  ax-13 2166  ax-14 2167  ax-ext 2175  ax-coll 4144  ax-sep 4147  ax-nul 4155  ax-pow 4203  ax-pr 4238  ax-un 4464  ax-setind 4569  ax-iinf 4620  ax-cnex 7963  ax-resscn 7964  ax-1cn 7965  ax-1re 7966  ax-icn 7967  ax-addcl 7968  ax-addrcl 7969  ax-mulcl 7970  ax-mulrcl 7971  ax-addcom 7972  ax-mulcom 7973  ax-addass 7974  ax-mulass 7975  ax-distr 7976  ax-i2m1 7977  ax-0lt1 7978  ax-1rid 7979  ax-0id 7980  ax-rnegex 7981  ax-precex 7982  ax-cnre 7983  ax-pre-ltirr 7984  ax-pre-ltwlin 7985  ax-pre-lttrn 7986  ax-pre-apti 7987  ax-pre-ltadd 7988  ax-pre-mulgt0 7989  ax-pre-mulext 7990  ax-arch 7991  ax-caucvg 7992
This theorem depends on definitions:  df-bi 117  df-dc 836  df-3or 981  df-3an 982  df-tru 1367  df-fal 1370  df-nf 1472  df-sb 1774  df-eu 2045  df-mo 2046  df-clab 2180  df-cleq 2186  df-clel 2189  df-nfc 2325  df-ne 2365  df-nel 2460  df-ral 2477  df-rex 2478  df-reu 2479  df-rmo 2480  df-rab 2481  df-v 2762  df-sbc 2986  df-csb 3081  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-nul 3447  df-if 3558  df-pw 3603  df-sn 3624  df-pr 3625  df-op 3627  df-uni 3836  df-int 3871  df-iun 3914  df-br 4030  df-opab 4091  df-mpt 4092  df-tr 4128  df-id 4324  df-po 4327  df-iso 4328  df-iord 4397  df-on 4399  df-ilim 4400  df-suc 4402  df-iom 4623  df-xp 4665  df-rel 4666  df-cnv 4667  df-co 4668  df-dm 4669  df-rn 4670  df-res 4671  df-ima 4672  df-iota 5215  df-fun 5256  df-fn 5257  df-f 5258  df-f1 5259  df-fo 5260  df-f1o 5261  df-fv 5262  df-riota 5873  df-ov 5921  df-oprab 5922  df-mpo 5923  df-1st 6193  df-2nd 6194  df-recs 6358  df-frec 6444  df-pnf 8056  df-mnf 8057  df-xr 8058  df-ltxr 8059  df-le 8060  df-sub 8192  df-neg 8193  df-reap 8594  df-ap 8601  df-div 8692  df-inn 8983  df-2 9041  df-3 9042  df-4 9043  df-n0 9241  df-z 9318  df-uz 9593  df-q 9685  df-rp 9720  df-seqfrec 10519  df-exp 10610  df-cj 10986  df-re 10987  df-im 10988  df-rsqrt 11142  df-abs 11143  df-dvds 11931
This theorem is referenced by:  dvdseq  11990
  Copyright terms: Public domain W3C validator