Users' Mathboxes Mathbox for Jim Kingdon < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >   Mathboxes  >  dcapnconst GIF version

Theorem dcapnconst 16543
Description: Decidability of real number apartness implies the existence of a certain non-constant function from real numbers to integers. Variation of Exercise 11.6(i) of [HoTT], p. (varies). See trilpo 16525 for more discussion of decidability of real number apartness.

This is a weaker form of dceqnconst 16542 and in fact this theorem can be proved using dceqnconst 16542 as shown at dcapnconstALT 16544. (Contributed by BJ and Jim Kingdon, 24-Jun-2024.)

Assertion
Ref Expression
dcapnconst (∀𝑥 ∈ ℝ DECID 𝑥 # 0 → ∃𝑓(𝑓:ℝ⟶ℤ ∧ (𝑓‘0) = 0 ∧ ∀𝑥 ∈ ℝ+ (𝑓𝑥) ≠ 0))
Distinct variable group:   𝑥,𝑓

Proof of Theorem dcapnconst
Dummy variables 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 reex 8149 . . . 4 ℝ ∈ V
21mptex 5872 . . 3 (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) ∈ V
32a1i 9 . 2 (∀𝑥 ∈ ℝ DECID 𝑥 # 0 → (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) ∈ V)
4 1zzd 9489 . . . . 5 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑦 ∈ ℝ) → 1 ∈ ℤ)
5 0zd 9474 . . . . 5 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑦 ∈ ℝ) → 0 ∈ ℤ)
6 breq1 4086 . . . . . . 7 (𝑥 = 𝑦 → (𝑥 # 0 ↔ 𝑦 # 0))
76dcbid 843 . . . . . 6 (𝑥 = 𝑦 → (DECID 𝑥 # 0 ↔ DECID 𝑦 # 0))
87rspccva 2906 . . . . 5 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑦 ∈ ℝ) → DECID 𝑦 # 0)
94, 5, 8ifcldcd 3640 . . . 4 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑦 ∈ ℝ) → if(𝑦 # 0, 1, 0) ∈ ℤ)
109fmpttd 5795 . . 3 (∀𝑥 ∈ ℝ DECID 𝑥 # 0 → (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)):ℝ⟶ℤ)
11 0re 8162 . . . . . 6 0 ∈ ℝ
12 1zzd 9489 . . . . . . . 8 (⊤ → 1 ∈ ℤ)
13 0zd 9474 . . . . . . . 8 (⊤ → 0 ∈ ℤ)
14 0cn 8154 . . . . . . . . . . . 12 0 ∈ ℂ
15 apirr 8768 . . . . . . . . . . . 12 (0 ∈ ℂ → ¬ 0 # 0)
1614, 15ax-mp 5 . . . . . . . . . . 11 ¬ 0 # 0
1716olci 737 . . . . . . . . . 10 (0 # 0 ∨ ¬ 0 # 0)
18 df-dc 840 . . . . . . . . . 10 (DECID 0 # 0 ↔ (0 # 0 ∨ ¬ 0 # 0))
1917, 18mpbir 146 . . . . . . . . 9 DECID 0 # 0
2019a1i 9 . . . . . . . 8 (⊤ → DECID 0 # 0)
2112, 13, 20ifcldcd 3640 . . . . . . 7 (⊤ → if(0 # 0, 1, 0) ∈ ℤ)
2221mptru 1404 . . . . . 6 if(0 # 0, 1, 0) ∈ ℤ
23 breq1 4086 . . . . . . . 8 (𝑦 = 0 → (𝑦 # 0 ↔ 0 # 0))
2423ifbid 3624 . . . . . . 7 (𝑦 = 0 → if(𝑦 # 0, 1, 0) = if(0 # 0, 1, 0))
25 eqid 2229 . . . . . . 7 (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) = (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))
2624, 25fvmptg 5715 . . . . . 6 ((0 ∈ ℝ ∧ if(0 # 0, 1, 0) ∈ ℤ) → ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘0) = if(0 # 0, 1, 0))
2711, 22, 26mp2an 426 . . . . 5 ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘0) = if(0 # 0, 1, 0)
2816iffalsei 3611 . . . . 5 if(0 # 0, 1, 0) = 0
2927, 28eqtri 2250 . . . 4 ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘0) = 0
3029a1i 9 . . 3 (∀𝑥 ∈ ℝ DECID 𝑥 # 0 → ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘0) = 0)
31 1ne0 9194 . . . . . 6 1 ≠ 0
32 breq1 4086 . . . . . . . . . 10 (𝑦 = 𝑧 → (𝑦 # 0 ↔ 𝑧 # 0))
3332ifbid 3624 . . . . . . . . 9 (𝑦 = 𝑧 → if(𝑦 # 0, 1, 0) = if(𝑧 # 0, 1, 0))
34 rpre 9873 . . . . . . . . . 10 (𝑧 ∈ ℝ+𝑧 ∈ ℝ)
3534adantl 277 . . . . . . . . 9 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → 𝑧 ∈ ℝ)
36 1zzd 9489 . . . . . . . . . 10 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → 1 ∈ ℤ)
37 0zd 9474 . . . . . . . . . 10 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → 0 ∈ ℤ)
38 breq1 4086 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (𝑥 # 0 ↔ 𝑧 # 0))
3938dcbid 843 . . . . . . . . . . 11 (𝑥 = 𝑧 → (DECID 𝑥 # 0 ↔ DECID 𝑧 # 0))
40 simpl 109 . . . . . . . . . . 11 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → ∀𝑥 ∈ ℝ DECID 𝑥 # 0)
4139, 40, 35rspcdva 2912 . . . . . . . . . 10 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → DECID 𝑧 # 0)
4236, 37, 41ifcldcd 3640 . . . . . . . . 9 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → if(𝑧 # 0, 1, 0) ∈ ℤ)
4325, 33, 35, 42fvmptd3 5733 . . . . . . . 8 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑧) = if(𝑧 # 0, 1, 0))
44 rpap0 9883 . . . . . . . . . 10 (𝑧 ∈ ℝ+𝑧 # 0)
4544iftrued 3609 . . . . . . . . 9 (𝑧 ∈ ℝ+ → if(𝑧 # 0, 1, 0) = 1)
4645adantl 277 . . . . . . . 8 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → if(𝑧 # 0, 1, 0) = 1)
4743, 46eqtrd 2262 . . . . . . 7 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑧) = 1)
4847neeq1d 2418 . . . . . 6 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → (((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑧) ≠ 0 ↔ 1 ≠ 0))
4931, 48mpbiri 168 . . . . 5 ((∀𝑥 ∈ ℝ DECID 𝑥 # 0 ∧ 𝑧 ∈ ℝ+) → ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑧) ≠ 0)
5049ralrimiva 2603 . . . 4 (∀𝑥 ∈ ℝ DECID 𝑥 # 0 → ∀𝑧 ∈ ℝ+ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑧) ≠ 0)
51 fveq2 5632 . . . . . 6 (𝑧 = 𝑥 → ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑧) = ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑥))
5251neeq1d 2418 . . . . 5 (𝑧 = 𝑥 → (((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑧) ≠ 0 ↔ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑥) ≠ 0))
5352cbvralv 2765 . . . 4 (∀𝑧 ∈ ℝ+ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑧) ≠ 0 ↔ ∀𝑥 ∈ ℝ+ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑥) ≠ 0)
5450, 53sylib 122 . . 3 (∀𝑥 ∈ ℝ DECID 𝑥 # 0 → ∀𝑥 ∈ ℝ+ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑥) ≠ 0)
5510, 30, 543jca 1201 . 2 (∀𝑥 ∈ ℝ DECID 𝑥 # 0 → ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)):ℝ⟶ℤ ∧ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘0) = 0 ∧ ∀𝑥 ∈ ℝ+ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑥) ≠ 0))
56 feq1 5459 . . 3 (𝑓 = (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) → (𝑓:ℝ⟶ℤ ↔ (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)):ℝ⟶ℤ))
57 fveq1 5631 . . . 4 (𝑓 = (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) → (𝑓‘0) = ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘0))
5857eqeq1d 2238 . . 3 (𝑓 = (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) → ((𝑓‘0) = 0 ↔ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘0) = 0))
59 fveq1 5631 . . . . 5 (𝑓 = (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) → (𝑓𝑥) = ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑥))
6059neeq1d 2418 . . . 4 (𝑓 = (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) → ((𝑓𝑥) ≠ 0 ↔ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑥) ≠ 0))
6160ralbidv 2530 . . 3 (𝑓 = (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) → (∀𝑥 ∈ ℝ+ (𝑓𝑥) ≠ 0 ↔ ∀𝑥 ∈ ℝ+ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑥) ≠ 0))
6256, 58, 613anbi123d 1346 . 2 (𝑓 = (𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)) → ((𝑓:ℝ⟶ℤ ∧ (𝑓‘0) = 0 ∧ ∀𝑥 ∈ ℝ+ (𝑓𝑥) ≠ 0) ↔ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0)):ℝ⟶ℤ ∧ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘0) = 0 ∧ ∀𝑥 ∈ ℝ+ ((𝑦 ∈ ℝ ↦ if(𝑦 # 0, 1, 0))‘𝑥) ≠ 0)))
633, 55, 62elabd 2948 1 (∀𝑥 ∈ ℝ DECID 𝑥 # 0 → ∃𝑓(𝑓:ℝ⟶ℤ ∧ (𝑓‘0) = 0 ∧ ∀𝑥 ∈ ℝ+ (𝑓𝑥) ≠ 0))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wo 713  DECID wdc 839  w3a 1002   = wceq 1395  wtru 1396  wex 1538  wcel 2200  wne 2400  wral 2508  Vcvv 2799  ifcif 3602   class class class wbr 4083  cmpt 4145  wf 5317  cfv 5321  cc 8013  cr 8014  0cc0 8015  1c1 8016   # cap 8744  cz 9462  +crp 9866
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 617  ax-in2 618  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-13 2202  ax-14 2203  ax-ext 2211  ax-coll 4199  ax-sep 4202  ax-pow 4259  ax-pr 4294  ax-un 4525  ax-setind 4630  ax-cnex 8106  ax-resscn 8107  ax-1cn 8108  ax-1re 8109  ax-icn 8110  ax-addcl 8111  ax-addrcl 8112  ax-mulcl 8113  ax-mulrcl 8114  ax-addcom 8115  ax-mulcom 8116  ax-addass 8117  ax-mulass 8118  ax-distr 8119  ax-i2m1 8120  ax-0lt1 8121  ax-1rid 8122  ax-0id 8123  ax-rnegex 8124  ax-precex 8125  ax-cnre 8126  ax-pre-ltirr 8127  ax-pre-ltwlin 8128  ax-pre-lttrn 8129  ax-pre-apti 8130  ax-pre-ltadd 8131  ax-pre-mulgt0 8132
This theorem depends on definitions:  df-bi 117  df-dc 840  df-3or 1003  df-3an 1004  df-tru 1398  df-fal 1401  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ne 2401  df-nel 2496  df-ral 2513  df-rex 2514  df-reu 2515  df-rab 2517  df-v 2801  df-sbc 3029  df-csb 3125  df-dif 3199  df-un 3201  df-in 3203  df-ss 3210  df-if 3603  df-pw 3651  df-sn 3672  df-pr 3673  df-op 3675  df-uni 3889  df-int 3924  df-iun 3967  df-br 4084  df-opab 4146  df-mpt 4147  df-id 4385  df-xp 4726  df-rel 4727  df-cnv 4728  df-co 4729  df-dm 4730  df-rn 4731  df-res 4732  df-ima 4733  df-iota 5281  df-fun 5323  df-fn 5324  df-f 5325  df-f1 5326  df-fo 5327  df-f1o 5328  df-fv 5329  df-riota 5963  df-ov 6013  df-oprab 6014  df-mpo 6015  df-pnf 8199  df-mnf 8200  df-xr 8201  df-ltxr 8202  df-le 8203  df-sub 8335  df-neg 8336  df-reap 8738  df-ap 8745  df-inn 9127  df-z 9463  df-rp 9867
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator