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

Theorem dvdsabseq 12561
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 12506 . . 3 (𝑀𝑁 → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ))
2 simpr 110 . . . . . . 7 ((𝑀𝑁𝑁𝑀) → 𝑁𝑀)
3 breq1 4117 . . . . . . . . 9 (𝑁 = 0 → (𝑁𝑀 ↔ 0 ∥ 𝑀))
4 0dvds 12525 . . . . . . . . . . 11 (𝑀 ∈ ℤ → (0 ∥ 𝑀𝑀 = 0))
54adantr 276 . . . . . . . . . 10 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 ∥ 𝑀𝑀 = 0))
6 zcn 9602 . . . . . . . . . . . . 13 (𝑀 ∈ ℤ → 𝑀 ∈ ℂ)
76abs00ad 11778 . . . . . . . . . . . 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 5675 . . . . . . . . . . 11 (𝑁 = 0 → (abs‘𝑁) = (abs‘0))
13 abs0 11771 . . . . . . . . . . 11 (abs‘0) = 0
1412, 13eqtrdi 2283 . . . . . . . . . 10 (𝑁 = 0 → (abs‘𝑁) = 0)
1514adantr 276 . . . . . . . . 9 ((𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (abs‘𝑁) = 0)
1615eqeq2d 2246 . . . . . . . 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 2422 . . . . . . . 8 𝑁 = 0 → 𝑁 ≠ 0)
2524adantr 276 . . . . . . 7 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑁 ≠ 0)
26 dvdsleabs2 12560 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (𝑀𝑁 → (abs‘𝑀) ≤ (abs‘𝑁)))
2721, 23, 25, 26syl3anc 1274 . . . . . 6 ((¬ 𝑁 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑀𝑁 → (abs‘𝑀) ≤ (abs‘𝑁)))
28 simpr 110 . . . . . . . . . . . . 13 ((𝑁𝑀𝑀𝑁) → 𝑀𝑁)
29 breq1 4117 . . . . . . . . . . . . . . 15 (𝑀 = 0 → (𝑀𝑁 ↔ 0 ∥ 𝑁))
30 0dvds 12525 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → (0 ∥ 𝑁𝑁 = 0))
31 zcn 9602 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
3231abs00ad 11778 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℤ → ((abs‘𝑁) = 0 ↔ 𝑁 = 0))
33 eqcom 2236 . . . . . . . . . . . . . . . . . 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 5675 . . . . . . . . . . . . . . . . 17 (𝑀 = 0 → (abs‘𝑀) = (abs‘0))
3938, 13eqtrdi 2283 . . . . . . . . . . . . . . . 16 (𝑀 = 0 → (abs‘𝑀) = 0)
4039adantr 276 . . . . . . . . . . . . . . 15 ((𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (abs‘𝑀) = 0)
4140eqeq1d 2243 . . . . . . . . . . . . . 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 1487 . . . . . . . . . 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 2422 . . . . . . . . . . . . . 14 𝑀 = 0 → 𝑀 ≠ 0)
5049adantr 276 . . . . . . . . . . . . 13 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → 𝑀 ≠ 0)
51 dvdsleabs2 12560 . . . . . . . . . . . . 13 ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (𝑁𝑀 → (abs‘𝑁) ≤ (abs‘𝑀)))
5247, 48, 50, 51syl3anc 1274 . . . . . . . . . . . 12 ((¬ 𝑀 = 0 ∧ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) → (𝑁𝑀 → (abs‘𝑁) ≤ (abs‘𝑀)))
53 eqcom 2236 . . . . . . . . . . . . . . . 16 ((abs‘𝑀) = (abs‘𝑁) ↔ (abs‘𝑁) = (abs‘𝑀))
5431abscld 11894 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → (abs‘𝑁) ∈ ℝ)
556abscld 11894 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ ℤ → (abs‘𝑀) ∈ ℝ)
56 letri3 8370 . . . . . . . . . . . . . . . . 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 9608 . . . . . . . . . . . 12 0 ∈ ℤ
66 zdceq 9673 . . . . . . . . . . . 12 ((𝑀 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑀 = 0)
6765, 66mpan2 425 . . . . . . . . . . 11 (𝑀 ∈ ℤ → DECID 𝑀 = 0)
68 exmiddc 844 . . . . . . . . . . 11 (DECID 𝑀 = 0 → (𝑀 = 0 ∨ ¬ 𝑀 = 0))
6967, 68syl 14 . . . . . . . . . 10 (𝑀 ∈ ℤ → (𝑀 = 0 ∨ ¬ 𝑀 = 0))
7069adantr 276 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 = 0 ∨ ¬ 𝑀 = 0))
7146, 64, 70mpjaod 726 . . . . . . . 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 9673 . . . . . . 7 ((𝑁 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑁 = 0)
7765, 76mpan2 425 . . . . . 6 (𝑁 ∈ ℤ → DECID 𝑁 = 0)
78 exmiddc 844 . . . . . 6 (DECID 𝑁 = 0 → (𝑁 = 0 ∨ ¬ 𝑁 = 0))
7977, 78syl 14 . . . . 5 (𝑁 ∈ ℤ → (𝑁 = 0 ∨ ¬ 𝑁 = 0))
8079adantl 277 . . . 4 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑁 = 0 ∨ ¬ 𝑁 = 0))
8120, 75, 80mpjaod 726 . . 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 716  DECID wdc 842   = wceq 1398  wcel 2205  wne 2414   class class class wbr 4114  cfv 5357  cr 8142  0cc0 8143  cle 8325  cz 9597  abscabs 11710  cdvds 12501
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 717  ax-5 1496  ax-7 1497  ax-gen 1498  ax-ie1 1542  ax-ie2 1543  ax-8 1553  ax-10 1554  ax-11 1555  ax-i12 1556  ax-bndl 1558  ax-4 1559  ax-17 1575  ax-i9 1579  ax-ial 1583  ax-i5r 1584  ax-13 2207  ax-14 2208  ax-ext 2216  ax-coll 4230  ax-sep 4233  ax-nul 4241  ax-pow 4292  ax-pr 4327  ax-un 4559  ax-setind 4664  ax-iinf 4715  ax-cnex 8234  ax-resscn 8235  ax-1cn 8236  ax-1re 8237  ax-icn 8238  ax-addcl 8239  ax-addrcl 8240  ax-mulcl 8241  ax-mulrcl 8242  ax-addcom 8243  ax-mulcom 8244  ax-addass 8245  ax-mulass 8246  ax-distr 8247  ax-i2m1 8248  ax-0lt1 8249  ax-1rid 8250  ax-0id 8251  ax-rnegex 8252  ax-precex 8253  ax-cnre 8254  ax-pre-ltirr 8255  ax-pre-ltwlin 8256  ax-pre-lttrn 8257  ax-pre-apti 8258  ax-pre-ltadd 8259  ax-pre-mulgt0 8260  ax-pre-mulext 8261  ax-arch 8262  ax-caucvg 8263
This theorem depends on definitions:  df-bi 117  df-dc 843  df-3or 1006  df-3an 1007  df-tru 1401  df-fal 1404  df-nf 1510  df-sb 1812  df-eu 2085  df-mo 2086  df-clab 2221  df-cleq 2227  df-clel 2230  df-nfc 2375  df-ne 2415  df-nel 2510  df-ral 2527  df-rex 2528  df-reu 2529  df-rmo 2530  df-rab 2531  df-v 2817  df-sbc 3046  df-csb 3142  df-dif 3216  df-un 3218  df-in 3220  df-ss 3227  df-nul 3513  df-if 3625  df-pw 3676  df-sn 3700  df-pr 3701  df-op 3703  df-uni 3920  df-int 3955  df-iun 3998  df-br 4115  df-opab 4177  df-mpt 4178  df-tr 4214  df-id 4419  df-po 4422  df-iso 4423  df-iord 4492  df-on 4494  df-ilim 4495  df-suc 4497  df-iom 4718  df-xp 4760  df-rel 4761  df-cnv 4762  df-co 4763  df-dm 4764  df-rn 4765  df-res 4766  df-ima 4767  df-iota 5317  df-fun 5359  df-fn 5360  df-f 5361  df-f1 5362  df-fo 5363  df-f1o 5364  df-fv 5365  df-riota 6011  df-ov 6061  df-oprab 6062  df-mpo 6063  df-1st 6347  df-2nd 6348  df-recs 6549  df-frec 6635  df-pnf 8326  df-mnf 8327  df-xr 8328  df-ltxr 8329  df-le 8330  df-sub 8463  df-neg 8464  df-reap 8867  df-ap 8874  df-div 8967  df-inn 9258  df-2 9316  df-3 9317  df-4 9318  df-n0 9517  df-z 9598  df-uz 9875  df-q 9973  df-rp 10008  df-seqfrec 10837  df-exp 10928  df-cj 11555  df-re 11556  df-im 11557  df-rsqrt 11711  df-abs 11712  df-dvds 12502
This theorem is referenced by:  dvdseq  12562
  Copyright terms: Public domain W3C validator