Metamath Proof Explorer


Definition df-finxp

Description: Define Cartesian exponentiation on a class.

Note that this definition is limited to finite exponents, since it is defined using nested ordered pairs. If tuples of infinite length are needed, or if they might be needed in the future, use df-ixp or df-map instead. The main advantage of this definition is that it integrates better with functions and relations. For example if R is a subset of ( A ^^ 2o ) , then df-br can be used on it, and df-fv can also be used, and so on.

It's also worth keeping in mind that ( ( U ^^ M ) X. ( U ^^ N ) ) is generally not equal to ( U ^^ ( M +o N ) ) .

This definition is technical. Use finxp1o and finxpsuc for a more standard recursive experience. (Contributed by ML, 16-Oct-2020)

Ref Expression
Assertion df-finxp
|- ( U ^^ N ) = { y | ( N e. _om /\ (/) = ( rec ( ( n e. _om , x e. _V |-> if ( ( n = 1o /\ x e. U ) , (/) , if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. ) ) ) , <. N , y >. ) ` N ) ) }

Detailed syntax breakdown

Step Hyp Ref Expression
0 cU
 |-  U
1 cN
 |-  N
2 0 1 cfinxp
 |-  ( U ^^ N )
3 vy
 |-  y
4 com
 |-  _om
5 1 4 wcel
 |-  N e. _om
6 c0
 |-  (/)
7 vn
 |-  n
8 vx
 |-  x
9 cvv
 |-  _V
10 7 cv
 |-  n
11 c1o
 |-  1o
12 10 11 wceq
 |-  n = 1o
13 8 cv
 |-  x
14 13 0 wcel
 |-  x e. U
15 12 14 wa
 |-  ( n = 1o /\ x e. U )
16 9 0 cxp
 |-  ( _V X. U )
17 13 16 wcel
 |-  x e. ( _V X. U )
18 10 cuni
 |-  U. n
19 c1st
 |-  1st
20 13 19 cfv
 |-  ( 1st ` x )
21 18 20 cop
 |-  <. U. n , ( 1st ` x ) >.
22 10 13 cop
 |-  <. n , x >.
23 17 21 22 cif
 |-  if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. )
24 15 6 23 cif
 |-  if ( ( n = 1o /\ x e. U ) , (/) , if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. ) )
25 7 8 4 9 24 cmpo
 |-  ( n e. _om , x e. _V |-> if ( ( n = 1o /\ x e. U ) , (/) , if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. ) ) )
26 3 cv
 |-  y
27 1 26 cop
 |-  <. N , y >.
28 25 27 crdg
 |-  rec ( ( n e. _om , x e. _V |-> if ( ( n = 1o /\ x e. U ) , (/) , if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. ) ) ) , <. N , y >. )
29 1 28 cfv
 |-  ( rec ( ( n e. _om , x e. _V |-> if ( ( n = 1o /\ x e. U ) , (/) , if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. ) ) ) , <. N , y >. ) ` N )
30 6 29 wceq
 |-  (/) = ( rec ( ( n e. _om , x e. _V |-> if ( ( n = 1o /\ x e. U ) , (/) , if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. ) ) ) , <. N , y >. ) ` N )
31 5 30 wa
 |-  ( N e. _om /\ (/) = ( rec ( ( n e. _om , x e. _V |-> if ( ( n = 1o /\ x e. U ) , (/) , if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. ) ) ) , <. N , y >. ) ` N ) )
32 31 3 cab
 |-  { y | ( N e. _om /\ (/) = ( rec ( ( n e. _om , x e. _V |-> if ( ( n = 1o /\ x e. U ) , (/) , if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. ) ) ) , <. N , y >. ) ` N ) ) }
33 2 32 wceq
 |-  ( U ^^ N ) = { y | ( N e. _om /\ (/) = ( rec ( ( n e. _om , x e. _V |-> if ( ( n = 1o /\ x e. U ) , (/) , if ( x e. ( _V X. U ) , <. U. n , ( 1st ` x ) >. , <. n , x >. ) ) ) , <. N , y >. ) ` N ) ) }