Mathbox for Stefan O'Rear < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  eqrabdioph Structured version   Visualization version   GIF version

Theorem eqrabdioph 40136
 Description: Diophantine set builder for equality of polynomial expressions. Note that the two expressions need not be nonnegative; only variables are so constrained. (Contributed by Stefan O'Rear, 10-Oct-2014.)
Assertion
Ref Expression
eqrabdioph ((𝑁 ∈ ℕ0 ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ 𝐴 = 𝐵} ∈ (Dioph‘𝑁))
Distinct variable group:   𝑡,𝑁
Allowed substitution hints:   𝐴(𝑡)   𝐵(𝑡)

Proof of Theorem eqrabdioph
StepHypRef Expression
1 nfmpt1 5134 . . . . . . 7 𝑡(𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴)
21nfel1 2935 . . . . . 6 𝑡(𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁))
3 nfmpt1 5134 . . . . . . 7 𝑡(𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵)
43nfel1 2935 . . . . . 6 𝑡(𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))
52, 4nfan 1900 . . . . 5 𝑡((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁)))
6 mzpf 40095 . . . . . . . . . . 11 ((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) → (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴):(ℤ ↑m (1...𝑁))⟶ℤ)
76ad2antrr 725 . . . . . . . . . 10 ((((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) ∧ 𝑡 ∈ (ℕ0m (1...𝑁))) → (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴):(ℤ ↑m (1...𝑁))⟶ℤ)
8 zex 12042 . . . . . . . . . . . . 13 ℤ ∈ V
9 nn0ssz 12055 . . . . . . . . . . . . 13 0 ⊆ ℤ
10 mapss 8484 . . . . . . . . . . . . 13 ((ℤ ∈ V ∧ ℕ0 ⊆ ℤ) → (ℕ0m (1...𝑁)) ⊆ (ℤ ↑m (1...𝑁)))
118, 9, 10mp2an 691 . . . . . . . . . . . 12 (ℕ0m (1...𝑁)) ⊆ (ℤ ↑m (1...𝑁))
1211sseli 3890 . . . . . . . . . . 11 (𝑡 ∈ (ℕ0m (1...𝑁)) → 𝑡 ∈ (ℤ ↑m (1...𝑁)))
1312adantl 485 . . . . . . . . . 10 ((((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) ∧ 𝑡 ∈ (ℕ0m (1...𝑁))) → 𝑡 ∈ (ℤ ↑m (1...𝑁)))
14 mptfcl 40079 . . . . . . . . . 10 ((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴):(ℤ ↑m (1...𝑁))⟶ℤ → (𝑡 ∈ (ℤ ↑m (1...𝑁)) → 𝐴 ∈ ℤ))
157, 13, 14sylc 65 . . . . . . . . 9 ((((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) ∧ 𝑡 ∈ (ℕ0m (1...𝑁))) → 𝐴 ∈ ℤ)
1615zcnd 12140 . . . . . . . 8 ((((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) ∧ 𝑡 ∈ (ℕ0m (1...𝑁))) → 𝐴 ∈ ℂ)
17 mzpf 40095 . . . . . . . . . . 11 ((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁)) → (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵):(ℤ ↑m (1...𝑁))⟶ℤ)
1817ad2antlr 726 . . . . . . . . . 10 ((((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) ∧ 𝑡 ∈ (ℕ0m (1...𝑁))) → (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵):(ℤ ↑m (1...𝑁))⟶ℤ)
19 mptfcl 40079 . . . . . . . . . 10 ((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵):(ℤ ↑m (1...𝑁))⟶ℤ → (𝑡 ∈ (ℤ ↑m (1...𝑁)) → 𝐵 ∈ ℤ))
2018, 13, 19sylc 65 . . . . . . . . 9 ((((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) ∧ 𝑡 ∈ (ℕ0m (1...𝑁))) → 𝐵 ∈ ℤ)
2120zcnd 12140 . . . . . . . 8 ((((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) ∧ 𝑡 ∈ (ℕ0m (1...𝑁))) → 𝐵 ∈ ℂ)
2216, 21subeq0ad 11058 . . . . . . 7 ((((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) ∧ 𝑡 ∈ (ℕ0m (1...𝑁))) → ((𝐴𝐵) = 0 ↔ 𝐴 = 𝐵))
2322bicomd 226 . . . . . 6 ((((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) ∧ 𝑡 ∈ (ℕ0m (1...𝑁))) → (𝐴 = 𝐵 ↔ (𝐴𝐵) = 0))
2423ex 416 . . . . 5 (((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → (𝑡 ∈ (ℕ0m (1...𝑁)) → (𝐴 = 𝐵 ↔ (𝐴𝐵) = 0)))
255, 24ralrimi 3144 . . . 4 (((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → ∀𝑡 ∈ (ℕ0m (1...𝑁))(𝐴 = 𝐵 ↔ (𝐴𝐵) = 0))
26 rabbi 3301 . . . 4 (∀𝑡 ∈ (ℕ0m (1...𝑁))(𝐴 = 𝐵 ↔ (𝐴𝐵) = 0) ↔ {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ 𝐴 = 𝐵} = {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ (𝐴𝐵) = 0})
2725, 26sylib 221 . . 3 (((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ 𝐴 = 𝐵} = {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ (𝐴𝐵) = 0})
28273adant1 1127 . 2 ((𝑁 ∈ ℕ0 ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ 𝐴 = 𝐵} = {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ (𝐴𝐵) = 0})
29 simp1 1133 . . 3 ((𝑁 ∈ ℕ0 ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → 𝑁 ∈ ℕ0)
30 mzpsubmpt 40102 . . . 4 (((𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ (𝐴𝐵)) ∈ (mzPoly‘(1...𝑁)))
31303adant1 1127 . . 3 ((𝑁 ∈ ℕ0 ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ (𝐴𝐵)) ∈ (mzPoly‘(1...𝑁)))
32 eq0rabdioph 40135 . . 3 ((𝑁 ∈ ℕ0 ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ (𝐴𝐵)) ∈ (mzPoly‘(1...𝑁))) → {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ (𝐴𝐵) = 0} ∈ (Dioph‘𝑁))
3329, 31, 32syl2anc 587 . 2 ((𝑁 ∈ ℕ0 ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ (𝐴𝐵) = 0} ∈ (Dioph‘𝑁))
3428, 33eqeltrd 2852 1 ((𝑁 ∈ ℕ0 ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐴) ∈ (mzPoly‘(1...𝑁)) ∧ (𝑡 ∈ (ℤ ↑m (1...𝑁)) ↦ 𝐵) ∈ (mzPoly‘(1...𝑁))) → {𝑡 ∈ (ℕ0m (1...𝑁)) ∣ 𝐴 = 𝐵} ∈ (Dioph‘𝑁))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 209   ∧ wa 399   ∧ w3a 1084   = wceq 1538   ∈ wcel 2111  ∀wral 3070  {crab 3074  Vcvv 3409   ⊆ wss 3860   ↦ cmpt 5116  ⟶wf 6336  ‘cfv 6340  (class class class)co 7156   ↑m cmap 8422  0cc0 10588  1c1 10589   − cmin 10921  ℕ0cn0 11947  ℤcz 12033  ...cfz 12952  mzPolycmzp 40081  Diophcdioph 40114 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2729  ax-rep 5160  ax-sep 5173  ax-nul 5180  ax-pow 5238  ax-pr 5302  ax-un 7465  ax-cnex 10644  ax-resscn 10645  ax-1cn 10646  ax-icn 10647  ax-addcl 10648  ax-addrcl 10649  ax-mulcl 10650  ax-mulrcl 10651  ax-mulcom 10652  ax-addass 10653  ax-mulass 10654  ax-distr 10655  ax-i2m1 10656  ax-1ne0 10657  ax-1rid 10658  ax-rnegex 10659  ax-rrecex 10660  ax-cnre 10661  ax-pre-lttri 10662  ax-pre-lttrn 10663  ax-pre-ltadd 10664  ax-pre-mulgt0 10665 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-fal 1551  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2557  df-eu 2588  df-clab 2736  df-cleq 2750  df-clel 2830  df-nfc 2901  df-ne 2952  df-nel 3056  df-ral 3075  df-rex 3076  df-reu 3077  df-rab 3079  df-v 3411  df-sbc 3699  df-csb 3808  df-dif 3863  df-un 3865  df-in 3867  df-ss 3877  df-pss 3879  df-nul 4228  df-if 4424  df-pw 4499  df-sn 4526  df-pr 4528  df-tp 4530  df-op 4532  df-uni 4802  df-int 4842  df-iun 4888  df-br 5037  df-opab 5099  df-mpt 5117  df-tr 5143  df-id 5434  df-eprel 5439  df-po 5447  df-so 5448  df-fr 5487  df-we 5489  df-xp 5534  df-rel 5535  df-cnv 5536  df-co 5537  df-dm 5538  df-rn 5539  df-res 5540  df-ima 5541  df-pred 6131  df-ord 6177  df-on 6178  df-lim 6179  df-suc 6180  df-iota 6299  df-fun 6342  df-fn 6343  df-f 6344  df-f1 6345  df-fo 6346  df-f1o 6347  df-fv 6348  df-riota 7114  df-ov 7159  df-oprab 7160  df-mpo 7161  df-of 7411  df-om 7586  df-1st 7699  df-2nd 7700  df-wrecs 7963  df-recs 8024  df-rdg 8062  df-er 8305  df-map 8424  df-en 8541  df-dom 8542  df-sdom 8543  df-pnf 10728  df-mnf 10729  df-xr 10730  df-ltxr 10731  df-le 10732  df-sub 10923  df-neg 10924  df-nn 11688  df-n0 11948  df-z 12034  df-uz 12296  df-fz 12953  df-mzpcl 40082  df-mzp 40083  df-dioph 40115 This theorem is referenced by:  elnn0rabdioph  40162  dvdsrabdioph  40169  rmydioph  40373  rmxdioph  40375  expdiophlem2  40381  expdioph  40382
 Copyright terms: Public domain W3C validator