Step |
Hyp |
Ref |
Expression |
1 |
|
mrsubffval.c |
|- C = ( mCN ` T ) |
2 |
|
mrsubffval.v |
|- V = ( mVR ` T ) |
3 |
|
mrsubffval.r |
|- R = ( mREx ` T ) |
4 |
|
mrsubffval.s |
|- S = ( mRSubst ` T ) |
5 |
|
simp3 |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> X e. ( C u. V ) ) |
6 |
5
|
s1cld |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> <" X "> e. Word ( C u. V ) ) |
7 |
|
elun |
|- ( X e. ( C u. V ) <-> ( X e. C \/ X e. V ) ) |
8 |
|
elfvex |
|- ( X e. ( mCN ` T ) -> T e. _V ) |
9 |
8 1
|
eleq2s |
|- ( X e. C -> T e. _V ) |
10 |
|
elfvex |
|- ( X e. ( mVR ` T ) -> T e. _V ) |
11 |
10 2
|
eleq2s |
|- ( X e. V -> T e. _V ) |
12 |
9 11
|
jaoi |
|- ( ( X e. C \/ X e. V ) -> T e. _V ) |
13 |
7 12
|
sylbi |
|- ( X e. ( C u. V ) -> T e. _V ) |
14 |
13
|
3ad2ant3 |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> T e. _V ) |
15 |
1 2 3
|
mrexval |
|- ( T e. _V -> R = Word ( C u. V ) ) |
16 |
14 15
|
syl |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> R = Word ( C u. V ) ) |
17 |
6 16
|
eleqtrrd |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> <" X "> e. R ) |
18 |
|
eqid |
|- ( freeMnd ` ( C u. V ) ) = ( freeMnd ` ( C u. V ) ) |
19 |
1 2 3 4 18
|
mrsubval |
|- ( ( F : A --> R /\ A C_ V /\ <" X "> e. R ) -> ( ( S ` F ) ` <" X "> ) = ( ( freeMnd ` ( C u. V ) ) gsum ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) o. <" X "> ) ) ) |
20 |
17 19
|
syld3an3 |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> ( ( S ` F ) ` <" X "> ) = ( ( freeMnd ` ( C u. V ) ) gsum ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) o. <" X "> ) ) ) |
21 |
|
simpl1 |
|- ( ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) /\ v e. ( C u. V ) ) -> F : A --> R ) |
22 |
21
|
ffvelrnda |
|- ( ( ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) /\ v e. ( C u. V ) ) /\ v e. A ) -> ( F ` v ) e. R ) |
23 |
16
|
ad2antrr |
|- ( ( ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) /\ v e. ( C u. V ) ) /\ v e. A ) -> R = Word ( C u. V ) ) |
24 |
22 23
|
eleqtrd |
|- ( ( ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) /\ v e. ( C u. V ) ) /\ v e. A ) -> ( F ` v ) e. Word ( C u. V ) ) |
25 |
|
simplr |
|- ( ( ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) /\ v e. ( C u. V ) ) /\ -. v e. A ) -> v e. ( C u. V ) ) |
26 |
25
|
s1cld |
|- ( ( ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) /\ v e. ( C u. V ) ) /\ -. v e. A ) -> <" v "> e. Word ( C u. V ) ) |
27 |
24 26
|
ifclda |
|- ( ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) /\ v e. ( C u. V ) ) -> if ( v e. A , ( F ` v ) , <" v "> ) e. Word ( C u. V ) ) |
28 |
27
|
fmpttd |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) : ( C u. V ) --> Word ( C u. V ) ) |
29 |
|
s1co |
|- ( ( X e. ( C u. V ) /\ ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) : ( C u. V ) --> Word ( C u. V ) ) -> ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) o. <" X "> ) = <" ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) ` X ) "> ) |
30 |
5 28 29
|
syl2anc |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) o. <" X "> ) = <" ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) ` X ) "> ) |
31 |
|
eleq1 |
|- ( v = X -> ( v e. A <-> X e. A ) ) |
32 |
|
fveq2 |
|- ( v = X -> ( F ` v ) = ( F ` X ) ) |
33 |
|
s1eq |
|- ( v = X -> <" v "> = <" X "> ) |
34 |
31 32 33
|
ifbieq12d |
|- ( v = X -> if ( v e. A , ( F ` v ) , <" v "> ) = if ( X e. A , ( F ` X ) , <" X "> ) ) |
35 |
|
eqid |
|- ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) = ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) |
36 |
|
fvex |
|- ( F ` X ) e. _V |
37 |
|
s1cli |
|- <" X "> e. Word _V |
38 |
37
|
elexi |
|- <" X "> e. _V |
39 |
36 38
|
ifex |
|- if ( X e. A , ( F ` X ) , <" X "> ) e. _V |
40 |
34 35 39
|
fvmpt |
|- ( X e. ( C u. V ) -> ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) ` X ) = if ( X e. A , ( F ` X ) , <" X "> ) ) |
41 |
40
|
3ad2ant3 |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) ` X ) = if ( X e. A , ( F ` X ) , <" X "> ) ) |
42 |
41
|
s1eqd |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> <" ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) ` X ) "> = <" if ( X e. A , ( F ` X ) , <" X "> ) "> ) |
43 |
30 42
|
eqtrd |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) o. <" X "> ) = <" if ( X e. A , ( F ` X ) , <" X "> ) "> ) |
44 |
43
|
oveq2d |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> ( ( freeMnd ` ( C u. V ) ) gsum ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) o. <" X "> ) ) = ( ( freeMnd ` ( C u. V ) ) gsum <" if ( X e. A , ( F ` X ) , <" X "> ) "> ) ) |
45 |
28 5
|
ffvelrnd |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> ( ( v e. ( C u. V ) |-> if ( v e. A , ( F ` v ) , <" v "> ) ) ` X ) e. Word ( C u. V ) ) |
46 |
41 45
|
eqeltrrd |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> if ( X e. A , ( F ` X ) , <" X "> ) e. Word ( C u. V ) ) |
47 |
1
|
fvexi |
|- C e. _V |
48 |
2
|
fvexi |
|- V e. _V |
49 |
47 48
|
unex |
|- ( C u. V ) e. _V |
50 |
|
eqid |
|- ( Base ` ( freeMnd ` ( C u. V ) ) ) = ( Base ` ( freeMnd ` ( C u. V ) ) ) |
51 |
18 50
|
frmdbas |
|- ( ( C u. V ) e. _V -> ( Base ` ( freeMnd ` ( C u. V ) ) ) = Word ( C u. V ) ) |
52 |
49 51
|
ax-mp |
|- ( Base ` ( freeMnd ` ( C u. V ) ) ) = Word ( C u. V ) |
53 |
52
|
eqcomi |
|- Word ( C u. V ) = ( Base ` ( freeMnd ` ( C u. V ) ) ) |
54 |
53
|
gsumws1 |
|- ( if ( X e. A , ( F ` X ) , <" X "> ) e. Word ( C u. V ) -> ( ( freeMnd ` ( C u. V ) ) gsum <" if ( X e. A , ( F ` X ) , <" X "> ) "> ) = if ( X e. A , ( F ` X ) , <" X "> ) ) |
55 |
46 54
|
syl |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> ( ( freeMnd ` ( C u. V ) ) gsum <" if ( X e. A , ( F ` X ) , <" X "> ) "> ) = if ( X e. A , ( F ` X ) , <" X "> ) ) |
56 |
20 44 55
|
3eqtrd |
|- ( ( F : A --> R /\ A C_ V /\ X e. ( C u. V ) ) -> ( ( S ` F ) ` <" X "> ) = if ( X e. A , ( F ` X ) , <" X "> ) ) |