Metamath Proof Explorer


Theorem mapfzcons

Description: Extending a one-based mapping by adding a tuple at the end results in another mapping. (Contributed by Stefan O'Rear, 10-Oct-2014) (Revised by Stefan O'Rear, 5-May-2015)

Ref Expression
Hypothesis mapfzcons.1 ⊢ M = N + 1
Assertion mapfzcons ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A ∪ M C ∈ B 1 … M

Proof

Step Hyp Ref Expression
1 mapfzcons.1 ⊢ M = N + 1
2 simp2 ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A ∈ B 1 … N
3 elmapex ⊢ A ∈ B 1 … N → B ∈ V ∧ 1 … N ∈ V
4 3 simpld ⊢ A ∈ B 1 … N → B ∈ V
5 4 3ad2ant2 ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → B ∈ V
6 ovex ⊢ 1 … N ∈ V
7 elmapg ⊢ B ∈ V ∧ 1 … N ∈ V → A ∈ B 1 … N ↔ A : 1 … N ⟶ B
8 5 6 7 sylancl ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A ∈ B 1 … N ↔ A : 1 … N ⟶ B
9 2 8 mpbid ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A : 1 … N ⟶ B
10 ovex ⊢ N + 1 ∈ V
11 simp3 ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → C ∈ B
12 f1osng ⊢ N + 1 ∈ V ∧ C ∈ B → N + 1 C : N + 1 ⟶ 1-1 onto C
13 10 11 12 sylancr ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → N + 1 C : N + 1 ⟶ 1-1 onto C
14 f1of ⊢ N + 1 C : N + 1 ⟶ 1-1 onto C → N + 1 C : N + 1 ⟶ C
15 13 14 syl ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → N + 1 C : N + 1 ⟶ C
16 snssi ⊢ C ∈ B → C ⊆ B
17 16 3ad2ant3 ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → C ⊆ B
18 15 17 fssd ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → N + 1 C : N + 1 ⟶ B
19 fzp1disj ⊢ 1 … N ∩ N + 1 = ∅
20 19 a1i ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → 1 … N ∩ N + 1 = ∅
21 fun ⊢ A : 1 … N ⟶ B ∧ N + 1 C : N + 1 ⟶ B ∧ 1 … N ∩ N + 1 = ∅ → A ∪ N + 1 C : 1 … N ∪ N + 1 ⟶ B ∪ B
22 9 18 20 21 syl21anc ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A ∪ N + 1 C : 1 … N ∪ N + 1 ⟶ B ∪ B
23 1z ⊢ 1 ∈ ℤ
24 simp1 ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → N ∈ ℕ 0
25 nn0uz ⊢ ℕ 0 = ℤ ≥ 0
26 1m1e0 ⊢ 1 − 1 = 0
27 26 fveq2i ⊢ ℤ ≥ 1 − 1 = ℤ ≥ 0
28 25 27 eqtr4i ⊢ ℕ 0 = ℤ ≥ 1 − 1
29 24 28 eleqtrdi ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → N ∈ ℤ ≥ 1 − 1
30 fzsuc2 ⊢ 1 ∈ ℤ ∧ N ∈ ℤ ≥ 1 − 1 → 1 … N + 1 = 1 … N ∪ N + 1
31 23 29 30 sylancr ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → 1 … N + 1 = 1 … N ∪ N + 1
32 31 eqcomd ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → 1 … N ∪ N + 1 = 1 … N + 1
33 unidm ⊢ B ∪ B = B
34 33 a1i ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → B ∪ B = B
35 32 34 feq23d ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A ∪ N + 1 C : 1 … N ∪ N + 1 ⟶ B ∪ B ↔ A ∪ N + 1 C : 1 … N + 1 ⟶ B
36 22 35 mpbid ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A ∪ N + 1 C : 1 … N + 1 ⟶ B
37 ovex ⊢ 1 … N + 1 ∈ V
38 elmapg ⊢ B ∈ V ∧ 1 … N + 1 ∈ V → A ∪ N + 1 C ∈ B 1 … N + 1 ↔ A ∪ N + 1 C : 1 … N + 1 ⟶ B
39 5 37 38 sylancl ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A ∪ N + 1 C ∈ B 1 … N + 1 ↔ A ∪ N + 1 C : 1 … N + 1 ⟶ B
40 36 39 mpbird ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A ∪ N + 1 C ∈ B 1 … N + 1
41 1 opeq1i ⊢ M C = N + 1 C
42 41 sneqi ⊢ M C = N + 1 C
43 42 uneq2i ⊢ A ∪ M C = A ∪ N + 1 C
44 1 oveq2i ⊢ 1 … M = 1 … N + 1
45 44 oveq2i ⊢ B 1 … M = B 1 … N + 1
46 40 43 45 3eltr4g ⊢ N ∈ ℕ 0 ∧ A ∈ B 1 … N ∧ C ∈ B → A ∪ M C ∈ B 1 … M