Metamath Proof Explorer


Theorem csbfinxpg

Description: Distribute proper substitution through Cartesian exponentiation. (Contributed by ML, 25-Oct-2020)

Ref Expression
Assertion csbfinxpg ⊢ A ∈ V → ⦋ A / x⦌ U ↑↑ N = ⦋ A / x⦌ U ↑↑ ⦋ A / x⦌ N

Proof

Step Hyp Ref Expression
1 df-finxp ⊢ U ↑↑ N = y | N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N
2 1 csbeq2i ⊢ ⦋ A / x⦌ U ↑↑ N = ⦋ A / x⦌ y | N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N
3 sbcan ⊢ [˙A / x]˙ N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N ↔ [˙A / x]˙ N ∈ ω ∧ [˙A / x]˙ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N
4 sbcel1g ⊢ A ∈ V → [˙A / x]˙ N ∈ ω ↔ ⦋ A / x⦌ N ∈ ω
5 sbceq2g ⊢ A ∈ V → [˙A / x]˙ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N ↔ ∅ = ⦋ A / x⦌ rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N
6 csbfv12 ⊢ ⦋ A / x⦌ rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N = ⦋ A / x⦌ rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ ⦋ A / x⦌ N
7 csbrdgg ⊢ A ∈ V → ⦋ A / x⦌ rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y = rec ⁡ ⦋ A / x⦌ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y
8 csbmpo123 ⊢ A ∈ V → ⦋ A / x⦌ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z = n ∈ ⦋ A / x⦌ ω , z ∈ ⦋ A / x⦌ V ⟼ ⦋ A / x⦌ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z
9 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ ω = ω
10 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ V = V
11 csbif ⊢ ⦋ A / x⦌ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z = if [˙A / x]˙ n = 1 𝑜 ∧ z ∈ U ⦋ A / x⦌ ∅ ⦋ A / x⦌ if z ∈ V × U ⋃ n 1 st ⁡ z n z
12 sbcan ⊢ [˙A / x]˙ n = 1 𝑜 ∧ z ∈ U ↔ [˙A / x]˙ n = 1 𝑜 ∧ [˙A / x]˙ z ∈ U
13 sbcg ⊢ A ∈ V → [˙A / x]˙ n = 1 𝑜 ↔ n = 1 𝑜
14 sbcel12 ⊢ [˙A / x]˙ z ∈ U ↔ ⦋ A / x⦌ z ∈ ⦋ A / x⦌ U
15 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ z = z
16 15 eleq1d ⊢ A ∈ V → ⦋ A / x⦌ z ∈ ⦋ A / x⦌ U ↔ z ∈ ⦋ A / x⦌ U
17 14 16 bitrid ⊢ A ∈ V → [˙A / x]˙ z ∈ U ↔ z ∈ ⦋ A / x⦌ U
18 13 17 anbi12d ⊢ A ∈ V → [˙A / x]˙ n = 1 𝑜 ∧ [˙A / x]˙ z ∈ U ↔ n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U
19 12 18 bitrid ⊢ A ∈ V → [˙A / x]˙ n = 1 𝑜 ∧ z ∈ U ↔ n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U
20 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ ∅ = ∅
21 csbif ⊢ ⦋ A / x⦌ if z ∈ V × U ⋃ n 1 st ⁡ z n z = if [˙A / x]˙ z ∈ V × U ⦋ A / x⦌ ⋃ n 1 st ⁡ z ⦋ A / x⦌ n z
22 sbcel12 ⊢ [˙A / x]˙ z ∈ V × U ↔ ⦋ A / x⦌ z ∈ ⦋ A / x⦌ V × U
23 csbxp ⊢ ⦋ A / x⦌ V × U = ⦋ A / x⦌ V × ⦋ A / x⦌ U
24 10 xpeq1d ⊢ A ∈ V → ⦋ A / x⦌ V × ⦋ A / x⦌ U = V × ⦋ A / x⦌ U
25 23 24 eqtrid ⊢ A ∈ V → ⦋ A / x⦌ V × U = V × ⦋ A / x⦌ U
26 15 25 eleq12d ⊢ A ∈ V → ⦋ A / x⦌ z ∈ ⦋ A / x⦌ V × U ↔ z ∈ V × ⦋ A / x⦌ U
27 22 26 bitrid ⊢ A ∈ V → [˙A / x]˙ z ∈ V × U ↔ z ∈ V × ⦋ A / x⦌ U
28 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ ⋃ n 1 st ⁡ z = ⋃ n 1 st ⁡ z
29 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ n z = n z
30 27 28 29 ifbieq12d ⊢ A ∈ V → if [˙A / x]˙ z ∈ V × U ⦋ A / x⦌ ⋃ n 1 st ⁡ z ⦋ A / x⦌ n z = if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z
31 21 30 eqtrid ⊢ A ∈ V → ⦋ A / x⦌ if z ∈ V × U ⋃ n 1 st ⁡ z n z = if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z
32 19 20 31 ifbieq12d ⊢ A ∈ V → if [˙A / x]˙ n = 1 𝑜 ∧ z ∈ U ⦋ A / x⦌ ∅ ⦋ A / x⦌ if z ∈ V × U ⋃ n 1 st ⁡ z n z = if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z
33 11 32 eqtrid ⊢ A ∈ V → ⦋ A / x⦌ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z = if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z
34 9 10 33 mpoeq123dv ⊢ A ∈ V → n ∈ ⦋ A / x⦌ ω , z ∈ ⦋ A / x⦌ V ⟼ ⦋ A / x⦌ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z = n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z
35 8 34 eqtrd ⊢ A ∈ V → ⦋ A / x⦌ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z = n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z
36 csbopg ⊢ A ∈ V → ⦋ A / x⦌ N y = ⦋ A / x⦌ N ⦋ A / x⦌ y
37 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ y = y
38 37 opeq2d ⊢ A ∈ V → ⦋ A / x⦌ N ⦋ A / x⦌ y = ⦋ A / x⦌ N y
39 36 38 eqtrd ⊢ A ∈ V → ⦋ A / x⦌ N y = ⦋ A / x⦌ N y
40 rdgeq12 ⊢ ⦋ A / x⦌ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z = n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ∧ ⦋ A / x⦌ N y = ⦋ A / x⦌ N y → rec ⁡ ⦋ A / x⦌ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y
41 35 39 40 syl2anc ⊢ A ∈ V → rec ⁡ ⦋ A / x⦌ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y
42 7 41 eqtrd ⊢ A ∈ V → ⦋ A / x⦌ rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y
43 42 fveq1d ⊢ A ∈ V → ⦋ A / x⦌ rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ ⦋ A / x⦌ N = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y ⁡ ⦋ A / x⦌ N
44 6 43 eqtrid ⊢ A ∈ V → ⦋ A / x⦌ rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y ⁡ ⦋ A / x⦌ N
45 44 eqeq2d ⊢ A ∈ V → ∅ = ⦋ A / x⦌ rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N ↔ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y ⁡ ⦋ A / x⦌ N
46 5 45 bitrd ⊢ A ∈ V → [˙A / x]˙ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N ↔ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y ⁡ ⦋ A / x⦌ N
47 4 46 anbi12d ⊢ A ∈ V → [˙A / x]˙ N ∈ ω ∧ [˙A / x]˙ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N ↔ ⦋ A / x⦌ N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y ⁡ ⦋ A / x⦌ N
48 3 47 bitrid ⊢ A ∈ V → [˙A / x]˙ N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N ↔ ⦋ A / x⦌ N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y ⁡ ⦋ A / x⦌ N
49 48 abbidv ⊢ A ∈ V → y | [˙A / x]˙ N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N = y | ⦋ A / x⦌ N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y ⁡ ⦋ A / x⦌ N
50 csbab ⊢ ⦋ A / x⦌ y | N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N = y | [˙A / x]˙ N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N
51 df-finxp ⊢ ⦋ A / x⦌ U ↑↑ ⦋ A / x⦌ N = y | ⦋ A / x⦌ N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ ⦋ A / x⦌ U ∅ if z ∈ V × ⦋ A / x⦌ U ⋃ n 1 st ⁡ z n z ⦋ A / x⦌ N y ⁡ ⦋ A / x⦌ N
52 49 50 51 3eqtr4g ⊢ A ∈ V → ⦋ A / x⦌ y | N ∈ ω ∧ ∅ = rec ⁡ n ∈ ω , z ∈ V ⟼ if n = 1 𝑜 ∧ z ∈ U ∅ if z ∈ V × U ⋃ n 1 st ⁡ z n z N y ⁡ N = ⦋ A / x⦌ U ↑↑ ⦋ A / x⦌ N
53 2 52 eqtrid ⊢ A ∈ V → ⦋ A / x⦌ U ↑↑ N = ⦋ A / x⦌ U ↑↑ ⦋ A / x⦌ N