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

Theorem nninffeq 16098
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 5436 . 2 (𝜑𝐹 Fn ℕ)
3 nninffeq.g . . 3 (𝜑𝐺:ℕ⟶ℕ0)
43ffnd 5436 . 2 (𝜑𝐺 Fn ℕ)
5 eqid 2206 . . . . . . . 8 (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)) = (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))
6 fveq2 5589 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐹𝑥) = (𝐹𝑧))
7 fveq2 5589 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐺𝑥) = (𝐺𝑧))
86, 7eqeq12d 2221 . . . . . . . . 9 (𝑥 = 𝑧 → ((𝐹𝑥) = (𝐺𝑥) ↔ (𝐹𝑧) = (𝐺𝑧)))
98ifbid 3597 . . . . . . . 8 (𝑥 = 𝑧 → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) = if((𝐹𝑧) = (𝐺𝑧), 1o, ∅))
10 simpr 110 . . . . . . . 8 ((𝜑𝑧 ∈ ℕ) → 𝑧 ∈ ℕ)
11 1onn 6619 . . . . . . . . . 10 1o ∈ ω
1211a1i 9 . . . . . . . . 9 ((𝜑𝑧 ∈ ℕ) → 1o ∈ ω)
13 peano1 4650 . . . . . . . . . 10 ∅ ∈ ω
1413a1i 9 . . . . . . . . 9 ((𝜑𝑧 ∈ ℕ) → ∅ ∈ ω)
151ffvelcdmda 5728 . . . . . . . . . . 11 ((𝜑𝑧 ∈ ℕ) → (𝐹𝑧) ∈ ℕ0)
1615nn0zd 9513 . . . . . . . . . 10 ((𝜑𝑧 ∈ ℕ) → (𝐹𝑧) ∈ ℤ)
173ffvelcdmda 5728 . . . . . . . . . . 11 ((𝜑𝑧 ∈ ℕ) → (𝐺𝑧) ∈ ℕ0)
1817nn0zd 9513 . . . . . . . . . 10 ((𝜑𝑧 ∈ ℕ) → (𝐺𝑧) ∈ ℤ)
19 zdceq 9468 . . . . . . . . . 10 (((𝐹𝑧) ∈ ℤ ∧ (𝐺𝑧) ∈ ℤ) → DECID (𝐹𝑧) = (𝐺𝑧))
2016, 18, 19syl2anc 411 . . . . . . . . 9 ((𝜑𝑧 ∈ ℕ) → DECID (𝐹𝑧) = (𝐺𝑧))
2112, 14, 20ifcldcd 3613 . . . . . . . 8 ((𝜑𝑧 ∈ ℕ) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) ∈ ω)
225, 9, 10, 21fvmptd3 5686 . . . . . . 7 ((𝜑𝑧 ∈ ℕ) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘𝑧) = if((𝐹𝑧) = (𝐺𝑧), 1o, ∅))
23 1lt2o 6541 . . . . . . . . . . . . 13 1o ∈ 2o
2423a1i 9 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ ℕ) → 1o ∈ 2o)
25 0lt2o 6540 . . . . . . . . . . . . 13 ∅ ∈ 2o
2625a1i 9 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ ℕ) → ∅ ∈ 2o)
271ffvelcdmda 5728 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ ℕ) → (𝐹𝑥) ∈ ℕ0)
2827nn0zd 9513 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ ℕ) → (𝐹𝑥) ∈ ℤ)
293ffvelcdmda 5728 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ ℕ) → (𝐺𝑥) ∈ ℕ0)
3029nn0zd 9513 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ ℕ) → (𝐺𝑥) ∈ ℤ)
31 zdceq 9468 . . . . . . . . . . . . 13 (((𝐹𝑥) ∈ ℤ ∧ (𝐺𝑥) ∈ ℤ) → DECID (𝐹𝑥) = (𝐺𝑥))
3228, 30, 31syl2anc 411 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ ℕ) → DECID (𝐹𝑥) = (𝐺𝑥))
3324, 26, 32ifcldcd 3613 . . . . . . . . . . 11 ((𝜑𝑥 ∈ ℕ) → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) ∈ 2o)
3433fmpttd 5748 . . . . . . . . . 10 (𝜑 → (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)):ℕ⟶2o)
35 2onn 6620 . . . . . . . . . . . 12 2o ∈ ω
3635elexi 2786 . . . . . . . . . . 11 2o ∈ V
37 nninfex 7238 . . . . . . . . . . 11 ∈ V
3836, 37elmap 6777 . . . . . . . . . 10 ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)) ∈ (2o𝑚) ↔ (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)):ℕ⟶2o)
3934, 38sylibr 134 . . . . . . . . 9 (𝜑 → (𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅)) ∈ (2o𝑚))
40 fveq2 5589 . . . . . . . . . . . . 13 (𝑥 = (𝑤 ∈ ω ↦ 1o) → (𝐹𝑥) = (𝐹‘(𝑤 ∈ ω ↦ 1o)))
41 fveq2 5589 . . . . . . . . . . . . 13 (𝑥 = (𝑤 ∈ ω ↦ 1o) → (𝐺𝑥) = (𝐺‘(𝑤 ∈ ω ↦ 1o)))
4240, 41eqeq12d 2221 . . . . . . . . . . . 12 (𝑥 = (𝑤 ∈ ω ↦ 1o) → ((𝐹𝑥) = (𝐺𝑥) ↔ (𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o))))
4342ifbid 3597 . . . . . . . . . . 11 (𝑥 = (𝑤 ∈ ω ↦ 1o) → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) = if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅))
44 infnninf 7241 . . . . . . . . . . . 12 (𝑤 ∈ ω ↦ 1o) ∈ ℕ
4544a1i 9 . . . . . . . . . . 11 (𝜑 → (𝑤 ∈ ω ↦ 1o) ∈ ℕ)
46 nninffeq.oo . . . . . . . . . . . . . 14 (𝜑 → (𝐹‘(𝑥 ∈ ω ↦ 1o)) = (𝐺‘(𝑥 ∈ ω ↦ 1o)))
47 eqidd 2207 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑤 → 1o = 1o)
4847cbvmptv 4148 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω ↦ 1o) = (𝑤 ∈ ω ↦ 1o)
4948fveq2i 5592 . . . . . . . . . . . . . 14 (𝐹‘(𝑥 ∈ ω ↦ 1o)) = (𝐹‘(𝑤 ∈ ω ↦ 1o))
5048fveq2i 5592 . . . . . . . . . . . . . 14 (𝐺‘(𝑥 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o))
5146, 49, 503eqtr3g 2262 . . . . . . . . . . . . 13 (𝜑 → (𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)))
5251iftrued 3582 . . . . . . . . . . . 12 (𝜑 → if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅) = 1o)
5352, 11eqeltrdi 2297 . . . . . . . . . . 11 (𝜑 → if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅) ∈ ω)
545, 43, 45, 53fvmptd3 5686 . . . . . . . . . 10 (𝜑 → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑤 ∈ ω ↦ 1o)) = if((𝐹‘(𝑤 ∈ ω ↦ 1o)) = (𝐺‘(𝑤 ∈ ω ↦ 1o)), 1o, ∅))
5554, 52eqtrd 2239 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑤 ∈ ω ↦ 1o)) = 1o)
56 nninffeq.n . . . . . . . . . 10 (𝜑 → ∀𝑛 ∈ ω (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
57 fveq2 5589 . . . . . . . . . . . . . . . 16 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → (𝐹𝑥) = (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
58 fveq2 5589 . . . . . . . . . . . . . . . 16 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → (𝐺𝑥) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))))
5957, 58eqeq12d 2221 . . . . . . . . . . . . . . 15 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → ((𝐹𝑥) = (𝐺𝑥) ↔ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))))
6059ifbid 3597 . . . . . . . . . . . . . 14 (𝑥 = (𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)) → if((𝐹𝑥) = (𝐺𝑥), 1o, ∅) = if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅))
61 nnnninf 7243 . . . . . . . . . . . . . . 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 3582 . . . . . . . . . . . . . . 15 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅) = 1o)
6564, 11eqeltrdi 2297 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅) ∈ ω)
665, 60, 62, 65fvmptd3 5686 . . . . . . . . . . . . 13 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = if((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))), 1o, ∅))
6766, 64eqtrd 2239 . . . . . . . . . . . 12 (((𝜑𝑛 ∈ ω) ∧ (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅)))) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o)
6867ex 115 . . . . . . . . . . 11 ((𝜑𝑛 ∈ ω) → ((𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o))
6968ralimdva 2574 . . . . . . . . . 10 (𝜑 → (∀𝑛 ∈ ω (𝐹‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = (𝐺‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) → ∀𝑛 ∈ ω ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o))
7056, 69mpd 13 . . . . . . . . 9 (𝜑 → ∀𝑛 ∈ ω ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘(𝑖 ∈ ω ↦ if(𝑖𝑛, 1o, ∅))) = 1o)
7139, 55, 70nninfall 16087 . . . . . . . 8 (𝜑 → ∀𝑧 ∈ ℕ ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘𝑧) = 1o)
7271r19.21bi 2595 . . . . . . 7 ((𝜑𝑧 ∈ ℕ) → ((𝑥 ∈ ℕ ↦ if((𝐹𝑥) = (𝐺𝑥), 1o, ∅))‘𝑧) = 1o)
7322, 72eqtr3d 2241 . . . . . 6 ((𝜑𝑧 ∈ ℕ) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) = 1o)
7473adantr 276 . . . . 5 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) = 1o)
75 simpr 110 . . . . . 6 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → ¬ (𝐹𝑧) = (𝐺𝑧))
7675iffalsed 3585 . . . . 5 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → if((𝐹𝑧) = (𝐺𝑧), 1o, ∅) = ∅)
7774, 76eqtr3d 2241 . . . 4 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → 1o = ∅)
78 1n0 6531 . . . . . 6 1o ≠ ∅
7978neii 2379 . . . . 5 ¬ 1o = ∅
8079a1i 9 . . . 4 (((𝜑𝑧 ∈ ℕ) ∧ ¬ (𝐹𝑧) = (𝐺𝑧)) → ¬ 1o = ∅)
8177, 80pm2.65da 663 . . 3 ((𝜑𝑧 ∈ ℕ) → ¬ ¬ (𝐹𝑧) = (𝐺𝑧))
82 exmiddc 838 . . . 4 (DECID (𝐹𝑧) = (𝐺𝑧) → ((𝐹𝑧) = (𝐺𝑧) ∨ ¬ (𝐹𝑧) = (𝐺𝑧)))
8320, 82syl 14 . . 3 ((𝜑𝑧 ∈ ℕ) → ((𝐹𝑧) = (𝐺𝑧) ∨ ¬ (𝐹𝑧) = (𝐺𝑧)))
8481, 83ecased 1362 . 2 ((𝜑𝑧 ∈ ℕ) → (𝐹𝑧) = (𝐺𝑧))
852, 4, 84eqfnfvd 5693 1 (𝜑𝐹 = 𝐺)
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wo 710  DECID wdc 836   = wceq 1373  wcel 2177  wral 2485  c0 3464  ifcif 3575  cmpt 4113  ωcom 4646  wf 5276  cfv 5280  (class class class)co 5957  1oc1o 6508  2oc2o 6509  𝑚 cmap 6748  xnninf 7236  0cn0 9315  cz 9392
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 711  ax-5 1471  ax-7 1472  ax-gen 1473  ax-ie1 1517  ax-ie2 1518  ax-8 1528  ax-10 1529  ax-11 1530  ax-i12 1531  ax-bndl 1533  ax-4 1534  ax-17 1550  ax-i9 1554  ax-ial 1558  ax-i5r 1559  ax-13 2179  ax-14 2180  ax-ext 2188  ax-sep 4170  ax-nul 4178  ax-pow 4226  ax-pr 4261  ax-un 4488  ax-setind 4593  ax-iinf 4644  ax-cnex 8036  ax-resscn 8037  ax-1cn 8038  ax-1re 8039  ax-icn 8040  ax-addcl 8041  ax-addrcl 8042  ax-mulcl 8043  ax-addcom 8045  ax-addass 8047  ax-distr 8049  ax-i2m1 8050  ax-0lt1 8051  ax-0id 8053  ax-rnegex 8054  ax-cnre 8056  ax-pre-ltirr 8057  ax-pre-ltwlin 8058  ax-pre-lttrn 8059  ax-pre-ltadd 8061
This theorem depends on definitions:  df-bi 117  df-dc 837  df-3or 982  df-3an 983  df-tru 1376  df-fal 1379  df-nf 1485  df-sb 1787  df-eu 2058  df-mo 2059  df-clab 2193  df-cleq 2199  df-clel 2202  df-nfc 2338  df-ne 2378  df-nel 2473  df-ral 2490  df-rex 2491  df-reu 2492  df-rab 2494  df-v 2775  df-sbc 3003  df-csb 3098  df-dif 3172  df-un 3174  df-in 3176  df-ss 3183  df-nul 3465  df-if 3576  df-pw 3623  df-sn 3644  df-pr 3645  df-op 3647  df-uni 3857  df-int 3892  df-br 4052  df-opab 4114  df-mpt 4115  df-tr 4151  df-id 4348  df-iord 4421  df-on 4423  df-suc 4426  df-iom 4647  df-xp 4689  df-rel 4690  df-cnv 4691  df-co 4692  df-dm 4693  df-rn 4694  df-res 4695  df-ima 4696  df-iota 5241  df-fun 5282  df-fn 5283  df-f 5284  df-fv 5288  df-riota 5912  df-ov 5960  df-oprab 5961  df-mpo 5962  df-1o 6515  df-2o 6516  df-map 6750  df-nninf 7237  df-pnf 8129  df-mnf 8130  df-xr 8131  df-ltxr 8132  df-le 8133  df-sub 8265  df-neg 8266  df-inn 9057  df-n0 9316  df-z 9393
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator