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

Theorem nninffeq 14053
Description: Equality of two functions on which agree at every integer and at the point at infinity. From an online post by Martin Escardo. Remark: the last two hypotheses can be grouped into one, (𝜑 → ∀𝑛 ∈ suc ω...). (Contributed by Jim Kingdon, 4-Aug-2023.)
Hypotheses
Ref Expression
nninffeq.f (𝜑𝐹:ℕ⟶ℕ0)
nninffeq.g (𝜑𝐺:ℕ⟶ℕ0)
nninffeq.oo (𝜑 → (𝐹‘(𝑥 ∈ ω ↦ 1o)) = (𝐺‘(𝑥 ∈ ω ↦ 1o)))
nninffeq.n (𝜑 → ∀𝑛 ∈ ω (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
Assertion
Ref Expression
nninffeq (𝜑𝐹 = 𝐺)
Distinct variable groups:   𝑖,𝐹,𝑛,𝑥   𝑖,𝐺,𝑛,𝑥   𝜑,𝑖,𝑛,𝑥

Proof of Theorem nninffeq
Dummy variables 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 nninffeq.f . . 3 (𝜑𝐹:ℕ⟶ℕ0)
21ffnd 5348 . 2 (𝜑𝐹 Fn ℕ)
3 nninffeq.g . . 3 (𝜑𝐺:ℕ⟶ℕ0)
43ffnd 5348 . 2 (𝜑𝐺 Fn ℕ)
5 eqid 2170 . . . . . . . 8 (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)) = (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))
6 fveq2 5496 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐹𝑥) = (𝐹𝑧))
7 fveq2 5496 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐺𝑥) = (𝐺𝑧))
86, 7eqeq12d 2185 . . . . . . . . 9 (𝑥 = 𝑧 → ((𝐹𝑥) = (𝐺𝑥) ↔ (𝐹𝑧) = (𝐺𝑧)))
98ifbid 3547 . . . . . . . 8 (𝑥 = 𝑧 → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) = if((𝐹𝑧) = (𝐺𝑧), 1o, ∅))
10 simpr 109 . . . . . . . 8 ((𝜑𝑧 ∈ ℕ) → 𝑧 ∈ ℕ)
11 1onn 6499 . . . . . . . . . 10 1o ∈ ω
1211a1i 9 . . . . . . . . 9 ((𝜑𝑧 ∈ ℕ) → 1o ∈ ω)
13 peano1 4578 . . . . . . . . . 10 ∅ ∈ ω
1413a1i 9 . . . . . . . . 9 ((𝜑𝑧 ∈ ℕ) → ∅ ∈ ω)
151ffvelrnda 5631 . . . . . . . . . . 11 ((𝜑𝑧 ∈ ℕ) → (𝐹𝑧) ∈ ℕ0)
1615nn0zd 9332 . . . . . . . . . 10 ((𝜑𝑧 ∈ ℕ) → (𝐹𝑧) ∈ ℤ)
173ffvelrnda 5631 . . . . . . . . . . 11 ((𝜑𝑧 ∈ ℕ) → (𝐺𝑧) ∈ ℕ0)
1817nn0zd 9332 . . . . . . . . . 10 ((𝜑𝑧 ∈ ℕ) → (𝐺𝑧) ∈ ℤ)
19 zdceq 9287 . . . . . . . . . 10 (((𝐹𝑧) ∈ ℤ ∧ (𝐺𝑧) ∈ ℤ) → DECID (𝐹𝑧) = (𝐺𝑧))
2016, 18, 19syl2anc 409 . . . . . . . . 9 ((𝜑𝑧 ∈ ℕ) → DECID (𝐹𝑧) = (𝐺𝑧))
2112, 14, 20ifcldcd 3561 . . . . . . . 8 ((𝜑𝑧 ∈ ℕ) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) ∈ ω)
225, 9, 10, 21fvmptd3 5589 . . . . . . 7 ((𝜑𝑧 ∈ ℕ) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘𝑧) = if((𝐹𝑧) = (𝐺𝑧), 1o, ∅))
23 1lt2o 6421 . . . . . . . . . . . . 13 1o ∈ 2o
2423a1i 9 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ ℕ) → 1o ∈ 2o)
25 0lt2o 6420 . . . . . . . . . . . . 13 ∅ ∈ 2o
2625a1i 9 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ ℕ) → ∅ ∈ 2o)
271ffvelrnda 5631 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ ℕ) → (𝐹𝑥) ∈ ℕ0)
2827nn0zd 9332 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ ℕ) → (𝐹𝑥) ∈ ℤ)
293ffvelrnda 5631 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ ℕ) → (𝐺𝑥) ∈ ℕ0)
3029nn0zd 9332 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ ℕ) → (𝐺𝑥) ∈ ℤ)
31 zdceq 9287 . . . . . . . . . . . . 13 (((𝐹𝑥) ∈ ℤ ∧ (𝐺𝑥) ∈ ℤ) → DECID (𝐹𝑥) = (𝐺𝑥))
3228, 30, 31syl2anc 409 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ ℕ) → DECID (𝐹𝑥) = (𝐺𝑥))
3324, 26, 32ifcldcd 3561 . . . . . . . . . . 11 ((𝜑𝑥 ∈ ℕ) → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) ∈ 2o)
3433fmpttd 5651 . . . . . . . . . 10 (𝜑 → (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)):ℕ⟶2o)
35 2onn 6500 . . . . . . . . . . . 12 2o ∈ ω
3635elexi 2742 . . . . . . . . . . 11 2o ∈ V
37 nninfex 7098 . . . . . . . . . . 11 ∈ V
3836, 37elmap 6655 . . . . . . . . . 10 ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)) ∈ (2o𝑚) ↔ (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)):ℕ⟶2o)
3934, 38sylibr 133 . . . . . . . . 9 (𝜑 → (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)) ∈ (2o𝑚))
40 fveq2 5496 . . . . . . . . . . . . 13 (𝑥 = (𝑤 ∈ ω ↦ 1o) → (𝐹𝑥) = (𝐹‘(𝑤 ∈ ω ↦ 1o)))
41 fveq2 5496 . . . . . . . . . . . . 13 (𝑥 = (𝑤 ∈ ω ↦ 1o) → (𝐺𝑥) = (𝐺‘(𝑤 ∈ ω ↦ 1o)))
4240, 41eqeq12d 2185 . . . . . . . . . . . 12 (𝑥 = (𝑤 ∈ ω ↦ 1o) → ((𝐹𝑥) = (𝐺𝑥) ↔ (𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o))))
4342ifbid 3547 . . . . . . . . . . 11 (𝑥 = (𝑤 ∈ ω ↦ 1o) → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) = if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅))
44 infnninf 7100 . . . . . . . . . . . 12 (𝑤 ∈ ω ↦ 1o) ∈ ℕ
4544a1i 9 . . . . . . . . . . 11 (𝜑 → (𝑤 ∈ ω ↦ 1o) ∈ ℕ)
46 nninffeq.oo . . . . . . . . . . . . . 14 (𝜑 → (𝐹‘(𝑥 ∈ ω ↦ 1o)) = (𝐺‘(𝑥 ∈ ω ↦ 1o)))
47 eqidd 2171 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑤 → 1o = 1o)
4847cbvmptv 4085 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω ↦ 1o) = (𝑤 ∈ ω ↦ 1o)
4948fveq2i 5499 . . . . . . . . . . . . . 14 (𝐹‘(𝑥 ∈ ω ↦ 1o)) = (𝐹‘(𝑤 ∈ ω ↦ 1o))
5048fveq2i 5499 . . . . . . . . . . . . . 14 (𝐺‘(𝑥 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o))
5146, 49, 503eqtr3g 2226 . . . . . . . . . . . . 13 (𝜑 → (𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)))
5251iftrued 3533 . . . . . . . . . . . 12 (𝜑 → if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅) = 1o)
5352, 11eqeltrdi 2261 . . . . . . . . . . 11 (𝜑 → if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅) ∈ ω)
545, 43, 45, 53fvmptd3 5589 . . . . . . . . . 10 (𝜑 → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑤 ∈ ω ↦ 1o)) = if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅))
5554, 52eqtrd 2203 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑤 ∈ ω ↦ 1o)) = 1o)
56 nninffeq.n . . . . . . . . . 10 (𝜑 → ∀𝑛 ∈ ω (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
57 fveq2 5496 . . . . . . . . . . . . . . . 16 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → (𝐹𝑥) = (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
58 fveq2 5496 . . . . . . . . . . . . . . . 16 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → (𝐺𝑥) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
5957, 58eqeq12d 2185 . . . . . . . . . . . . . . 15 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → ((𝐹𝑥) = (𝐺𝑥) ↔ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))))
6059ifbid 3547 . . . . . . . . . . . . . 14 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) = if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅))
61 nnnninf 7102 . . . . . . . . . . . . . . 15 (𝑛 ∈ ω → (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) ∈ ℕ)
6261ad2antlr 486 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) ∈ ℕ)
63 simpr 109 . . . . . . . . . . . . . . . 16 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
6463iftrued 3533 . . . . . . . . . . . . . . 15 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅) = 1o)
6564, 11eqeltrdi 2261 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅) ∈ ω)
665, 60, 62, 65fvmptd3 5589 . . . . . . . . . . . . 13 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅))
6766, 64eqtrd 2203 . . . . . . . . . . . 12 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o)
6867ex 114 . . . . . . . . . . 11 ((𝜑𝑛 ∈ ω) → ((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o))
6968ralimdva 2537 . . . . . . . . . 10 (𝜑 → (∀𝑛 ∈ ω (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) → ∀𝑛 ∈ ω ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o))
7056, 69mpd 13 . . . . . . . . 9 (𝜑 → ∀𝑛 ∈ ω ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o)
7139, 55, 70nninfall 14042 . . . . . . . 8 (𝜑 → ∀𝑧 ∈ ℕ ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘𝑧) = 1o)
7271r19.21bi 2558 . . . . . . 7 ((𝜑𝑧 ∈ ℕ) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘𝑧) = 1o)
7322, 72eqtr3d 2205 . . . . . 6 ((𝜑𝑧 ∈ ℕ) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) = 1o)
7473adantr 274 . . . . 5 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) = 1o)
75 simpr 109 . . . . . 6 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → ¬ (𝐹𝑧) = (𝐺𝑧))
7675iffalsed 3536 . . . . 5 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) = ∅)
7774, 76eqtr3d 2205 . . . 4 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → 1o = ∅)
78 1n0 6411 . . . . . 6 1o ≠ ∅
7978neii 2342 . . . . 5 ¬ 1o = ∅
8079a1i 9 . . . 4 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → ¬ 1o = ∅)
8177, 80pm2.65da 656 . . 3 ((𝜑𝑧 ∈ ℕ) → ¬ ¬ (𝐹𝑧) = (𝐺𝑧))
82 exmiddc 831 . . . 4 (DECID (𝐹𝑧) = (𝐺𝑧) → ((𝐹𝑧) = (𝐺𝑧) ∨ ¬ (𝐹𝑧) = (𝐺𝑧)))
8320, 82syl 14 . . 3 ((𝜑𝑧 ∈ ℕ) → ((𝐹𝑧) = (𝐺𝑧) ∨ ¬ (𝐹𝑧) = (𝐺𝑧)))
8481, 83ecased 1344 . 2 ((𝜑𝑧 ∈ ℕ) → (𝐹𝑧) = (𝐺𝑧))
852, 4, 84eqfnfvd 5596 1 (𝜑𝐹 = 𝐺)
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 103  wo 703  DECID wdc 829   = wceq 1348  wcel 2141  wral 2448  c0 3414  ifcif 3526  cmpt 4050  ωcom 4574  wf 5194  cfv 5198  (class class class)co 5853  1oc1o 6388  2oc2o 6389  𝑚 cmap 6626  xnninf 7096  0cn0 9135  cz 9212
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 609  ax-in2 610  ax-io 704  ax-5 1440  ax-7 1441  ax-gen 1442  ax-ie1 1486  ax-ie2 1487  ax-8 1497  ax-10 1498  ax-11 1499  ax-i12 1500  ax-bndl 1502  ax-4 1503  ax-17 1519  ax-i9 1523  ax-ial 1527  ax-i5r 1528  ax-13 2143  ax-14 2144  ax-ext 2152  ax-sep 4107  ax-nul 4115  ax-pow 4160  ax-pr 4194  ax-un 4418  ax-setind 4521  ax-iinf 4572  ax-cnex 7865  ax-resscn 7866  ax-1cn 7867  ax-1re 7868  ax-icn 7869  ax-addcl 7870  ax-addrcl 7871  ax-mulcl 7872  ax-addcom 7874  ax-addass 7876  ax-distr 7878  ax-i2m1 7879  ax-0lt1 7880  ax-0id 7882  ax-rnegex 7883  ax-cnre 7885  ax-pre-ltirr 7886  ax-pre-ltwlin 7887  ax-pre-lttrn 7888  ax-pre-ltadd 7890
This theorem depends on definitions:  df-bi 116  df-dc 830  df-3or 974  df-3an 975  df-tru 1351  df-fal 1354  df-nf 1454  df-sb 1756  df-eu 2022  df-mo 2023  df-clab 2157  df-cleq 2163  df-clel 2166  df-nfc 2301  df-ne 2341  df-nel 2436  df-ral 2453  df-rex 2454  df-reu 2455  df-rab 2457  df-v 2732  df-sbc 2956  df-csb 3050  df-dif 3123  df-un 3125  df-in 3127  df-ss 3134  df-nul 3415  df-if 3527  df-pw 3568  df-sn 3589  df-pr 3590  df-op 3592  df-uni 3797  df-int 3832  df-br 3990  df-opab 4051  df-mpt 4052  df-tr 4088  df-id 4278  df-iord 4351  df-on 4353  df-suc 4356  df-iom 4575  df-xp 4617  df-rel 4618  df-cnv 4619  df-co 4620  df-dm 4621  df-rn 4622  df-res 4623  df-ima 4624  df-iota 5160  df-fun 5200  df-fn 5201  df-f 5202  df-fv 5206  df-riota 5809  df-ov 5856  df-oprab 5857  df-mpo 5858  df-1o 6395  df-2o 6396  df-map 6628  df-nninf 7097  df-pnf 7956  df-mnf 7957  df-xr 7958  df-ltxr 7959  df-le 7960  df-sub 8092  df-neg 8093  df-inn 8879  df-n0 9136  df-z 9213
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator