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

Theorem nninffeq 15510
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 5404 . 2 (𝜑𝐹 Fn ℕ)
3 nninffeq.g . . 3 (𝜑𝐺:ℕ⟶ℕ0)
43ffnd 5404 . 2 (𝜑𝐺 Fn ℕ)
5 eqid 2193 . . . . . . . 8 (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)) = (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))
6 fveq2 5554 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐹𝑥) = (𝐹𝑧))
7 fveq2 5554 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐺𝑥) = (𝐺𝑧))
86, 7eqeq12d 2208 . . . . . . . . 9 (𝑥 = 𝑧 → ((𝐹𝑥) = (𝐺𝑥) ↔ (𝐹𝑧) = (𝐺𝑧)))
98ifbid 3578 . . . . . . . 8 (𝑥 = 𝑧 → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) = if((𝐹𝑧) = (𝐺𝑧), 1o, ∅))
10 simpr 110 . . . . . . . 8 ((𝜑𝑧 ∈ ℕ) → 𝑧 ∈ ℕ)
11 1onn 6573 . . . . . . . . . 10 1o ∈ ω
1211a1i 9 . . . . . . . . 9 ((𝜑𝑧 ∈ ℕ) → 1o ∈ ω)
13 peano1 4626 . . . . . . . . . 10 ∅ ∈ ω
1413a1i 9 . . . . . . . . 9 ((𝜑𝑧 ∈ ℕ) → ∅ ∈ ω)
151ffvelcdmda 5693 . . . . . . . . . . 11 ((𝜑𝑧 ∈ ℕ) → (𝐹𝑧) ∈ ℕ0)
1615nn0zd 9437 . . . . . . . . . 10 ((𝜑𝑧 ∈ ℕ) → (𝐹𝑧) ∈ ℤ)
173ffvelcdmda 5693 . . . . . . . . . . 11 ((𝜑𝑧 ∈ ℕ) → (𝐺𝑧) ∈ ℕ0)
1817nn0zd 9437 . . . . . . . . . 10 ((𝜑𝑧 ∈ ℕ) → (𝐺𝑧) ∈ ℤ)
19 zdceq 9392 . . . . . . . . . 10 (((𝐹𝑧) ∈ ℤ ∧ (𝐺𝑧) ∈ ℤ) → DECID (𝐹𝑧) = (𝐺𝑧))
2016, 18, 19syl2anc 411 . . . . . . . . 9 ((𝜑𝑧 ∈ ℕ) → DECID (𝐹𝑧) = (𝐺𝑧))
2112, 14, 20ifcldcd 3593 . . . . . . . 8 ((𝜑𝑧 ∈ ℕ) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) ∈ ω)
225, 9, 10, 21fvmptd3 5651 . . . . . . 7 ((𝜑𝑧 ∈ ℕ) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘𝑧) = if((𝐹𝑧) = (𝐺𝑧), 1o, ∅))
23 1lt2o 6495 . . . . . . . . . . . . 13 1o ∈ 2o
2423a1i 9 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ ℕ) → 1o ∈ 2o)
25 0lt2o 6494 . . . . . . . . . . . . 13 ∅ ∈ 2o
2625a1i 9 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ ℕ) → ∅ ∈ 2o)
271ffvelcdmda 5693 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ ℕ) → (𝐹𝑥) ∈ ℕ0)
2827nn0zd 9437 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ ℕ) → (𝐹𝑥) ∈ ℤ)
293ffvelcdmda 5693 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ ℕ) → (𝐺𝑥) ∈ ℕ0)
3029nn0zd 9437 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ ℕ) → (𝐺𝑥) ∈ ℤ)
31 zdceq 9392 . . . . . . . . . . . . 13 (((𝐹𝑥) ∈ ℤ ∧ (𝐺𝑥) ∈ ℤ) → DECID (𝐹𝑥) = (𝐺𝑥))
3228, 30, 31syl2anc 411 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ ℕ) → DECID (𝐹𝑥) = (𝐺𝑥))
3324, 26, 32ifcldcd 3593 . . . . . . . . . . 11 ((𝜑𝑥 ∈ ℕ) → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) ∈ 2o)
3433fmpttd 5713 . . . . . . . . . 10 (𝜑 → (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)):ℕ⟶2o)
35 2onn 6574 . . . . . . . . . . . 12 2o ∈ ω
3635elexi 2772 . . . . . . . . . . 11 2o ∈ V
37 nninfex 7180 . . . . . . . . . . 11 ∈ V
3836, 37elmap 6731 . . . . . . . . . 10 ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)) ∈ (2o𝑚) ↔ (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)):ℕ⟶2o)
3934, 38sylibr 134 . . . . . . . . 9 (𝜑 → (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)) ∈ (2o𝑚))
40 fveq2 5554 . . . . . . . . . . . . 13 (𝑥 = (𝑤 ∈ ω ↦ 1o) → (𝐹𝑥) = (𝐹‘(𝑤 ∈ ω ↦ 1o)))
41 fveq2 5554 . . . . . . . . . . . . 13 (𝑥 = (𝑤 ∈ ω ↦ 1o) → (𝐺𝑥) = (𝐺‘(𝑤 ∈ ω ↦ 1o)))
4240, 41eqeq12d 2208 . . . . . . . . . . . 12 (𝑥 = (𝑤 ∈ ω ↦ 1o) → ((𝐹𝑥) = (𝐺𝑥) ↔ (𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o))))
4342ifbid 3578 . . . . . . . . . . 11 (𝑥 = (𝑤 ∈ ω ↦ 1o) → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) = if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅))
44 infnninf 7183 . . . . . . . . . . . 12 (𝑤 ∈ ω ↦ 1o) ∈ ℕ
4544a1i 9 . . . . . . . . . . 11 (𝜑 → (𝑤 ∈ ω ↦ 1o) ∈ ℕ)
46 nninffeq.oo . . . . . . . . . . . . . 14 (𝜑 → (𝐹‘(𝑥 ∈ ω ↦ 1o)) = (𝐺‘(𝑥 ∈ ω ↦ 1o)))
47 eqidd 2194 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑤 → 1o = 1o)
4847cbvmptv 4125 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω ↦ 1o) = (𝑤 ∈ ω ↦ 1o)
4948fveq2i 5557 . . . . . . . . . . . . . 14 (𝐹‘(𝑥 ∈ ω ↦ 1o)) = (𝐹‘(𝑤 ∈ ω ↦ 1o))
5048fveq2i 5557 . . . . . . . . . . . . . 14 (𝐺‘(𝑥 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o))
5146, 49, 503eqtr3g 2249 . . . . . . . . . . . . 13 (𝜑 → (𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)))
5251iftrued 3564 . . . . . . . . . . . 12 (𝜑 → if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅) = 1o)
5352, 11eqeltrdi 2284 . . . . . . . . . . 11 (𝜑 → if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅) ∈ ω)
545, 43, 45, 53fvmptd3 5651 . . . . . . . . . 10 (𝜑 → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑤 ∈ ω ↦ 1o)) = if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅))
5554, 52eqtrd 2226 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑤 ∈ ω ↦ 1o)) = 1o)
56 nninffeq.n . . . . . . . . . 10 (𝜑 → ∀𝑛 ∈ ω (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
57 fveq2 5554 . . . . . . . . . . . . . . . 16 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → (𝐹𝑥) = (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
58 fveq2 5554 . . . . . . . . . . . . . . . 16 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → (𝐺𝑥) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
5957, 58eqeq12d 2208 . . . . . . . . . . . . . . 15 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → ((𝐹𝑥) = (𝐺𝑥) ↔ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))))
6059ifbid 3578 . . . . . . . . . . . . . 14 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) = if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅))
61 nnnninf 7185 . . . . . . . . . . . . . . 15 (𝑛 ∈ ω → (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) ∈ ℕ)
6261ad2antlr 489 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) ∈ ℕ)
63 simpr 110 . . . . . . . . . . . . . . . 16 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
6463iftrued 3564 . . . . . . . . . . . . . . 15 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅) = 1o)
6564, 11eqeltrdi 2284 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅) ∈ ω)
665, 60, 62, 65fvmptd3 5651 . . . . . . . . . . . . 13 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅))
6766, 64eqtrd 2226 . . . . . . . . . . . 12 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o)
6867ex 115 . . . . . . . . . . 11 ((𝜑𝑛 ∈ ω) → ((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o))
6968ralimdva 2561 . . . . . . . . . 10 (𝜑 → (∀𝑛 ∈ ω (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) → ∀𝑛 ∈ ω ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o))
7056, 69mpd 13 . . . . . . . . 9 (𝜑 → ∀𝑛 ∈ ω ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o)
7139, 55, 70nninfall 15499 . . . . . . . 8 (𝜑 → ∀𝑧 ∈ ℕ ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘𝑧) = 1o)
7271r19.21bi 2582 . . . . . . 7 ((𝜑𝑧 ∈ ℕ) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘𝑧) = 1o)
7322, 72eqtr3d 2228 . . . . . 6 ((𝜑𝑧 ∈ ℕ) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) = 1o)
7473adantr 276 . . . . 5 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) = 1o)
75 simpr 110 . . . . . 6 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → ¬ (𝐹𝑧) = (𝐺𝑧))
7675iffalsed 3567 . . . . 5 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) = ∅)
7774, 76eqtr3d 2228 . . . 4 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → 1o = ∅)
78 1n0 6485 . . . . . 6 1o ≠ ∅
7978neii 2366 . . . . 5 ¬ 1o = ∅
8079a1i 9 . . . 4 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → ¬ 1o = ∅)
8177, 80pm2.65da 662 . . 3 ((𝜑𝑧 ∈ ℕ) → ¬ ¬ (𝐹𝑧) = (𝐺𝑧))
82 exmiddc 837 . . . 4 (DECID (𝐹𝑧) = (𝐺𝑧) → ((𝐹𝑧) = (𝐺𝑧) ∨ ¬ (𝐹𝑧) = (𝐺𝑧)))
8320, 82syl 14 . . 3 ((𝜑𝑧 ∈ ℕ) → ((𝐹𝑧) = (𝐺𝑧) ∨ ¬ (𝐹𝑧) = (𝐺𝑧)))
8481, 83ecased 1360 . 2 ((𝜑𝑧 ∈ ℕ) → (𝐹𝑧) = (𝐺𝑧))
852, 4, 84eqfnfvd 5658 1 (𝜑𝐹 = 𝐺)
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wo 709  DECID wdc 835   = wceq 1364  wcel 2164  wral 2472  c0 3446  ifcif 3557  cmpt 4090  ωcom 4622  wf 5250  cfv 5254  (class class class)co 5918  1oc1o 6462  2oc2o 6463  𝑚 cmap 6702  xnninf 7178  0cn0 9240  cz 9317
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 2166  ax-14 2167  ax-ext 2175  ax-sep 4147  ax-nul 4155  ax-pow 4203  ax-pr 4238  ax-un 4464  ax-setind 4569  ax-iinf 4620  ax-cnex 7963  ax-resscn 7964  ax-1cn 7965  ax-1re 7966  ax-icn 7967  ax-addcl 7968  ax-addrcl 7969  ax-mulcl 7970  ax-addcom 7972  ax-addass 7974  ax-distr 7976  ax-i2m1 7977  ax-0lt1 7978  ax-0id 7980  ax-rnegex 7981  ax-cnre 7983  ax-pre-ltirr 7984  ax-pre-ltwlin 7985  ax-pre-lttrn 7986  ax-pre-ltadd 7988
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 2045  df-mo 2046  df-clab 2180  df-cleq 2186  df-clel 2189  df-nfc 2325  df-ne 2365  df-nel 2460  df-ral 2477  df-rex 2478  df-reu 2479  df-rab 2481  df-v 2762  df-sbc 2986  df-csb 3081  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-nul 3447  df-if 3558  df-pw 3603  df-sn 3624  df-pr 3625  df-op 3627  df-uni 3836  df-int 3871  df-br 4030  df-opab 4091  df-mpt 4092  df-tr 4128  df-id 4324  df-iord 4397  df-on 4399  df-suc 4402  df-iom 4623  df-xp 4665  df-rel 4666  df-cnv 4667  df-co 4668  df-dm 4669  df-rn 4670  df-res 4671  df-ima 4672  df-iota 5215  df-fun 5256  df-fn 5257  df-f 5258  df-fv 5262  df-riota 5873  df-ov 5921  df-oprab 5922  df-mpo 5923  df-1o 6469  df-2o 6470  df-map 6704  df-nninf 7179  df-pnf 8056  df-mnf 8057  df-xr 8058  df-ltxr 8059  df-le 8060  df-sub 8192  df-neg 8193  df-inn 8983  df-n0 9241  df-z 9318
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator