Metamath Proof Explorer


Theorem nfcprod

Description: Bound-variable hypothesis builder for product: if x is (effectively) not free in A and B , it is not free in prod_ k e. A B . (Contributed by Scott Fenton, 1-Dec-2017)

Ref Expression
Hypotheses nfcprod.1 𝑥 𝐴
nfcprod.2 𝑥 𝐵
Assertion nfcprod 𝑥𝑘𝐴 𝐵

Proof

Step Hyp Ref Expression
1 nfcprod.1 𝑥 𝐴
2 nfcprod.2 𝑥 𝐵
3 df-prod 𝑘𝐴 𝐵 = ( ℩ 𝑦 ( ∃ 𝑚 ∈ ℤ ( 𝐴 ⊆ ( ℤ𝑚 ) ∧ ∃ 𝑛 ∈ ( ℤ𝑚 ) ∃ 𝑧 ( 𝑧 ≠ 0 ∧ seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑧 ) ∧ seq 𝑚 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑦 ) ∨ ∃ 𝑚 ∈ ℕ ∃ 𝑓 ( 𝑓 : ( 1 ... 𝑚 ) –1-1-onto𝐴𝑦 = ( seq 1 ( · , ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 ) ) ‘ 𝑚 ) ) ) )
4 nfcv 𝑥
5 nfcv 𝑥 ( ℤ𝑚 )
6 1 5 nfss 𝑥 𝐴 ⊆ ( ℤ𝑚 )
7 nfv 𝑥 𝑧 ≠ 0
8 nfcv 𝑥 𝑛
9 nfcv 𝑥 ·
10 1 nfcri 𝑥 𝑘𝐴
11 nfcv 𝑥 1
12 10 2 11 nfif 𝑥 if ( 𝑘𝐴 , 𝐵 , 1 )
13 4 12 nfmpt 𝑥 ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) )
14 8 9 13 nfseq 𝑥 seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) )
15 nfcv 𝑥
16 nfcv 𝑥 𝑧
17 14 15 16 nfbr 𝑥 seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑧
18 7 17 nfan 𝑥 ( 𝑧 ≠ 0 ∧ seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑧 )
19 18 nfex 𝑥𝑧 ( 𝑧 ≠ 0 ∧ seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑧 )
20 5 19 nfrex 𝑥𝑛 ∈ ( ℤ𝑚 ) ∃ 𝑧 ( 𝑧 ≠ 0 ∧ seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑧 )
21 nfcv 𝑥 𝑚
22 21 9 13 nfseq 𝑥 seq 𝑚 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) )
23 nfcv 𝑥 𝑦
24 22 15 23 nfbr 𝑥 seq 𝑚 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑦
25 6 20 24 nf3an 𝑥 ( 𝐴 ⊆ ( ℤ𝑚 ) ∧ ∃ 𝑛 ∈ ( ℤ𝑚 ) ∃ 𝑧 ( 𝑧 ≠ 0 ∧ seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑧 ) ∧ seq 𝑚 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑦 )
26 4 25 nfrex 𝑥𝑚 ∈ ℤ ( 𝐴 ⊆ ( ℤ𝑚 ) ∧ ∃ 𝑛 ∈ ( ℤ𝑚 ) ∃ 𝑧 ( 𝑧 ≠ 0 ∧ seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑧 ) ∧ seq 𝑚 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑦 )
27 nfcv 𝑥
28 nfcv 𝑥 𝑓
29 nfcv 𝑥 ( 1 ... 𝑚 )
30 28 29 1 nff1o 𝑥 𝑓 : ( 1 ... 𝑚 ) –1-1-onto𝐴
31 nfcv 𝑥 ( 𝑓𝑛 )
32 31 2 nfcsbw 𝑥 ( 𝑓𝑛 ) / 𝑘 𝐵
33 27 32 nfmpt 𝑥 ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 )
34 11 9 33 nfseq 𝑥 seq 1 ( · , ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 ) )
35 34 21 nffv 𝑥 ( seq 1 ( · , ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 ) ) ‘ 𝑚 )
36 35 nfeq2 𝑥 𝑦 = ( seq 1 ( · , ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 ) ) ‘ 𝑚 )
37 30 36 nfan 𝑥 ( 𝑓 : ( 1 ... 𝑚 ) –1-1-onto𝐴𝑦 = ( seq 1 ( · , ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 ) ) ‘ 𝑚 ) )
38 37 nfex 𝑥𝑓 ( 𝑓 : ( 1 ... 𝑚 ) –1-1-onto𝐴𝑦 = ( seq 1 ( · , ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 ) ) ‘ 𝑚 ) )
39 27 38 nfrex 𝑥𝑚 ∈ ℕ ∃ 𝑓 ( 𝑓 : ( 1 ... 𝑚 ) –1-1-onto𝐴𝑦 = ( seq 1 ( · , ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 ) ) ‘ 𝑚 ) )
40 26 39 nfor 𝑥 ( ∃ 𝑚 ∈ ℤ ( 𝐴 ⊆ ( ℤ𝑚 ) ∧ ∃ 𝑛 ∈ ( ℤ𝑚 ) ∃ 𝑧 ( 𝑧 ≠ 0 ∧ seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑧 ) ∧ seq 𝑚 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑦 ) ∨ ∃ 𝑚 ∈ ℕ ∃ 𝑓 ( 𝑓 : ( 1 ... 𝑚 ) –1-1-onto𝐴𝑦 = ( seq 1 ( · , ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 ) ) ‘ 𝑚 ) ) )
41 40 nfiotaw 𝑥 ( ℩ 𝑦 ( ∃ 𝑚 ∈ ℤ ( 𝐴 ⊆ ( ℤ𝑚 ) ∧ ∃ 𝑛 ∈ ( ℤ𝑚 ) ∃ 𝑧 ( 𝑧 ≠ 0 ∧ seq 𝑛 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑧 ) ∧ seq 𝑚 ( · , ( 𝑘 ∈ ℤ ↦ if ( 𝑘𝐴 , 𝐵 , 1 ) ) ) ⇝ 𝑦 ) ∨ ∃ 𝑚 ∈ ℕ ∃ 𝑓 ( 𝑓 : ( 1 ... 𝑚 ) –1-1-onto𝐴𝑦 = ( seq 1 ( · , ( 𝑛 ∈ ℕ ↦ ( 𝑓𝑛 ) / 𝑘 𝐵 ) ) ‘ 𝑚 ) ) ) )
42 3 41 nfcxfr 𝑥𝑘𝐴 𝐵