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

Theorem dvdsabseq 11884
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 11830 . . 3 (𝑀𝑁 → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ))
2 simpr 110 . . . . . . 7 ((𝑀𝑁𝑁𝑀) → 𝑁𝑀)
3 breq1 4021 . . . . . . . . 9 (𝑁 = 0 → (𝑁𝑀 ↔ 0 ∥ 𝑀))
4 0dvds 11849 . . . . . . . . . . 11 (𝑀 ∈ ℤ → (0 ∥ 𝑀𝑀 = 0))
54adantr 276 . . . . . . . . . 10 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 ∥ 𝑀𝑀 = 0))
6 zcn 9287 . . . . . . . . . . . . 13 (𝑀 ∈ ℤ → 𝑀 ∈ ℂ)
76abs00ad 11105 . . . . . . . . . . . 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 5534 . . . . . . . . . . 11 (𝑁 = 0 → (abs‘𝑁) = (abs‘0))
13 abs0 11098 . . . . . . . . . . 11 (abs‘0) = 0
1412, 13eqtrdi 2238 . . . . . . . . . 10 (𝑁 = 0 → (abs‘𝑁) = 0)
1514adantr 276 . . . . . . . . 9 ((𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (abs‘𝑁) = 0)
1615eqeq2d 2201 . . . . . . . 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 2368 . . . . . . . 8 𝑁 = 0 → 𝑁 ≠ 0)
2524adantr 276 . . . . . . 7 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑁 ≠ 0)
26 dvdsleabs2 11883 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (𝑀𝑁 → (abs‘𝑀) ≤ (abs‘𝑁)))
2721, 23, 25, 26syl3anc 1249 . . . . . 6 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → (abs‘𝑀) ≤ (abs‘𝑁)))
28 simpr 110 . . . . . . . . . . . . 13 ((𝑁𝑀𝑀𝑁) → 𝑀𝑁)
29 breq1 4021 . . . . . . . . . . . . . . 15 (𝑀 = 0 → (𝑀𝑁 ↔ 0 ∥ 𝑁))
30 0dvds 11849 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → (0 ∥ 𝑁𝑁 = 0))
31 zcn 9287 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
3231abs00ad 11105 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℤ → ((abs‘𝑁) = 0 ↔ 𝑁 = 0))
33 eqcom 2191 . . . . . . . . . . . . . . . . . 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 5534 . . . . . . . . . . . . . . . . 17 (𝑀 = 0 → (abs‘𝑀) = (abs‘0))
3938, 13eqtrdi 2238 . . . . . . . . . . . . . . . 16 (𝑀 = 0 → (abs‘𝑀) = 0)
4039adantr 276 . . . . . . . . . . . . . . 15 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (abs‘𝑀) = 0)
4140eqeq1d 2198 . . . . . . . . . . . . . 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 2368 . . . . . . . . . . . . . 14 𝑀 = 0 → 𝑀 ≠ 0)
5049adantr 276 . . . . . . . . . . . . 13 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑀 ≠ 0)
51 dvdsleabs2 11883 . . . . . . . . . . . . 13 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (𝑁𝑀 → (abs‘𝑁) ≤ (abs‘𝑀)))
5247, 48, 50, 51syl3anc 1249 . . . . . . . . . . . 12 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑁𝑀 → (abs‘𝑁) ≤ (abs‘𝑀)))
53 eqcom 2191 . . . . . . . . . . . . . . . 16 ((abs‘𝑀) = (abs‘𝑁) ↔ (abs‘𝑁) = (abs‘𝑀))
5431abscld 11221 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → (abs‘𝑁) ∈ ℝ)
556abscld 11221 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ ℤ → (abs‘𝑀) ∈ ℝ)
56 letri3 8067 . . . . . . . . . . . . . . . . 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 9293 . . . . . . . . . . . 12 0 ∈ ℤ
66 zdceq 9357 . . . . . . . . . . . 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 9357 . . . . . . 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 2160  wne 2360   class class class wbr 4018  cfv 5235  cr 7839  0cc0 7840  cle 8022  cz 9282  abscabs 11037  cdvds 11825
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 2162  ax-14 2163  ax-ext 2171  ax-coll 4133  ax-sep 4136  ax-nul 4144  ax-pow 4192  ax-pr 4227  ax-un 4451  ax-setind 4554  ax-iinf 4605  ax-cnex 7931  ax-resscn 7932  ax-1cn 7933  ax-1re 7934  ax-icn 7935  ax-addcl 7936  ax-addrcl 7937  ax-mulcl 7938  ax-mulrcl 7939  ax-addcom 7940  ax-mulcom 7941  ax-addass 7942  ax-mulass 7943  ax-distr 7944  ax-i2m1 7945  ax-0lt1 7946  ax-1rid 7947  ax-0id 7948  ax-rnegex 7949  ax-precex 7950  ax-cnre 7951  ax-pre-ltirr 7952  ax-pre-ltwlin 7953  ax-pre-lttrn 7954  ax-pre-apti 7955  ax-pre-ltadd 7956  ax-pre-mulgt0 7957  ax-pre-mulext 7958  ax-arch 7959  ax-caucvg 7960
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 2041  df-mo 2042  df-clab 2176  df-cleq 2182  df-clel 2185  df-nfc 2321  df-ne 2361  df-nel 2456  df-ral 2473  df-rex 2474  df-reu 2475  df-rmo 2476  df-rab 2477  df-v 2754  df-sbc 2978  df-csb 3073  df-dif 3146  df-un 3148  df-in 3150  df-ss 3157  df-nul 3438  df-if 3550  df-pw 3592  df-sn 3613  df-pr 3614  df-op 3616  df-uni 3825  df-int 3860  df-iun 3903  df-br 4019  df-opab 4080  df-mpt 4081  df-tr 4117  df-id 4311  df-po 4314  df-iso 4315  df-iord 4384  df-on 4386  df-ilim 4387  df-suc 4389  df-iom 4608  df-xp 4650  df-rel 4651  df-cnv 4652  df-co 4653  df-dm 4654  df-rn 4655  df-res 4656  df-ima 4657  df-iota 5196  df-fun 5237  df-fn 5238  df-f 5239  df-f1 5240  df-fo 5241  df-f1o 5242  df-fv 5243  df-riota 5851  df-ov 5898  df-oprab 5899  df-mpo 5900  df-1st 6164  df-2nd 6165  df-recs 6329  df-frec 6415  df-pnf 8023  df-mnf 8024  df-xr 8025  df-ltxr 8026  df-le 8027  df-sub 8159  df-neg 8160  df-reap 8561  df-ap 8568  df-div 8659  df-inn 8949  df-2 9007  df-3 9008  df-4 9009  df-n0 9206  df-z 9283  df-uz 9558  df-q 9649  df-rp 9683  df-seqfrec 10476  df-exp 10550  df-cj 10882  df-re 10883  df-im 10884  df-rsqrt 11038  df-abs 11039  df-dvds 11826
This theorem is referenced by:  dvdseq  11885
  Copyright terms: Public domain W3C validator