Step |
Hyp |
Ref |
Expression |
1 |
|
smuval.a |
⊢ ( 𝜑 → 𝐴 ⊆ ℕ0 ) |
2 |
|
smuval.b |
⊢ ( 𝜑 → 𝐵 ⊆ ℕ0 ) |
3 |
|
smuval.p |
⊢ 𝑃 = seq 0 ( ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) , ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) ) |
4 |
|
0nn0 |
⊢ 0 ∈ ℕ0 |
5 |
|
iftrue |
⊢ ( 𝑛 = 0 → if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) = ∅ ) |
6 |
|
eqid |
⊢ ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) = ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) |
7 |
|
0ex |
⊢ ∅ ∈ V |
8 |
5 6 7
|
fvmpt |
⊢ ( 0 ∈ ℕ0 → ( ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) ‘ 0 ) = ∅ ) |
9 |
4 8
|
mp1i |
⊢ ( 𝜑 → ( ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) ‘ 0 ) = ∅ ) |
10 |
|
0elpw |
⊢ ∅ ∈ 𝒫 ℕ0 |
11 |
9 10
|
eqeltrdi |
⊢ ( 𝜑 → ( ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) ‘ 0 ) ∈ 𝒫 ℕ0 ) |
12 |
|
df-ov |
⊢ ( 𝑥 ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) 𝑦 ) = ( ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) ‘ 〈 𝑥 , 𝑦 〉 ) |
13 |
|
elpwi |
⊢ ( 𝑝 ∈ 𝒫 ℕ0 → 𝑝 ⊆ ℕ0 ) |
14 |
13
|
adantr |
⊢ ( ( 𝑝 ∈ 𝒫 ℕ0 ∧ 𝑚 ∈ ℕ0 ) → 𝑝 ⊆ ℕ0 ) |
15 |
|
ssrab2 |
⊢ { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ⊆ ℕ0 |
16 |
|
sadcl |
⊢ ( ( 𝑝 ⊆ ℕ0 ∧ { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ⊆ ℕ0 ) → ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ⊆ ℕ0 ) |
17 |
14 15 16
|
sylancl |
⊢ ( ( 𝑝 ∈ 𝒫 ℕ0 ∧ 𝑚 ∈ ℕ0 ) → ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ⊆ ℕ0 ) |
18 |
|
nn0ex |
⊢ ℕ0 ∈ V |
19 |
18
|
elpw2 |
⊢ ( ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ∈ 𝒫 ℕ0 ↔ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ⊆ ℕ0 ) |
20 |
17 19
|
sylibr |
⊢ ( ( 𝑝 ∈ 𝒫 ℕ0 ∧ 𝑚 ∈ ℕ0 ) → ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ∈ 𝒫 ℕ0 ) |
21 |
20
|
rgen2 |
⊢ ∀ 𝑝 ∈ 𝒫 ℕ0 ∀ 𝑚 ∈ ℕ0 ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ∈ 𝒫 ℕ0 |
22 |
|
eqid |
⊢ ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) = ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) |
23 |
22
|
fmpo |
⊢ ( ∀ 𝑝 ∈ 𝒫 ℕ0 ∀ 𝑚 ∈ ℕ0 ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ∈ 𝒫 ℕ0 ↔ ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) : ( 𝒫 ℕ0 × ℕ0 ) ⟶ 𝒫 ℕ0 ) |
24 |
21 23
|
mpbi |
⊢ ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) : ( 𝒫 ℕ0 × ℕ0 ) ⟶ 𝒫 ℕ0 |
25 |
24 10
|
f0cli |
⊢ ( ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) ‘ 〈 𝑥 , 𝑦 〉 ) ∈ 𝒫 ℕ0 |
26 |
12 25
|
eqeltri |
⊢ ( 𝑥 ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) 𝑦 ) ∈ 𝒫 ℕ0 |
27 |
26
|
a1i |
⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ 𝒫 ℕ0 ∧ 𝑦 ∈ V ) ) → ( 𝑥 ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) 𝑦 ) ∈ 𝒫 ℕ0 ) |
28 |
|
nn0uz |
⊢ ℕ0 = ( ℤ≥ ‘ 0 ) |
29 |
|
0zd |
⊢ ( 𝜑 → 0 ∈ ℤ ) |
30 |
|
fvexd |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( ℤ≥ ‘ ( 0 + 1 ) ) ) → ( ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) ‘ 𝑥 ) ∈ V ) |
31 |
11 27 28 29 30
|
seqf2 |
⊢ ( 𝜑 → seq 0 ( ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) , ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) ) : ℕ0 ⟶ 𝒫 ℕ0 ) |
32 |
3
|
feq1i |
⊢ ( 𝑃 : ℕ0 ⟶ 𝒫 ℕ0 ↔ seq 0 ( ( 𝑝 ∈ 𝒫 ℕ0 , 𝑚 ∈ ℕ0 ↦ ( 𝑝 sadd { 𝑛 ∈ ℕ0 ∣ ( 𝑚 ∈ 𝐴 ∧ ( 𝑛 − 𝑚 ) ∈ 𝐵 ) } ) ) , ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) ) : ℕ0 ⟶ 𝒫 ℕ0 ) |
33 |
31 32
|
sylibr |
⊢ ( 𝜑 → 𝑃 : ℕ0 ⟶ 𝒫 ℕ0 ) |