Step |
Hyp |
Ref |
Expression |
1 |
|
estrres.c |
⊢ ( 𝜑 → 𝐶 = { 〈 ( Base ‘ ndx ) , 𝐵 〉 , 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ) |
2 |
|
estrres.b |
⊢ ( 𝜑 → 𝐵 ∈ 𝑉 ) |
3 |
|
estrres.h |
⊢ ( 𝜑 → 𝐻 ∈ 𝑋 ) |
4 |
|
estrres.x |
⊢ ( 𝜑 → · ∈ 𝑌 ) |
5 |
|
estrres.g |
⊢ ( 𝜑 → 𝐺 ∈ 𝑊 ) |
6 |
|
estrres.u |
⊢ ( 𝜑 → 𝐴 ⊆ 𝐵 ) |
7 |
|
ovex |
⊢ ( 𝐶 ↾s 𝐴 ) ∈ V |
8 |
|
setsval |
⊢ ( ( ( 𝐶 ↾s 𝐴 ) ∈ V ∧ 𝐺 ∈ 𝑊 ) → ( ( 𝐶 ↾s 𝐴 ) sSet 〈 ( Hom ‘ ndx ) , 𝐺 〉 ) = ( ( ( 𝐶 ↾s 𝐴 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) ∪ { 〈 ( Hom ‘ ndx ) , 𝐺 〉 } ) ) |
9 |
7 5 8
|
sylancr |
⊢ ( 𝜑 → ( ( 𝐶 ↾s 𝐴 ) sSet 〈 ( Hom ‘ ndx ) , 𝐺 〉 ) = ( ( ( 𝐶 ↾s 𝐴 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) ∪ { 〈 ( Hom ‘ ndx ) , 𝐺 〉 } ) ) |
10 |
|
eqid |
⊢ ( 𝐶 ↾s 𝐴 ) = ( 𝐶 ↾s 𝐴 ) |
11 |
|
eqid |
⊢ ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 ) |
12 |
|
eqid |
⊢ ( Base ‘ ndx ) = ( Base ‘ ndx ) |
13 |
|
tpex |
⊢ { 〈 ( Base ‘ ndx ) , 𝐵 〉 , 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ∈ V |
14 |
1 13
|
eqeltrdi |
⊢ ( 𝜑 → 𝐶 ∈ V ) |
15 |
|
fvex |
⊢ ( Base ‘ ndx ) ∈ V |
16 |
|
fvex |
⊢ ( Hom ‘ ndx ) ∈ V |
17 |
|
fvex |
⊢ ( comp ‘ ndx ) ∈ V |
18 |
15 16 17
|
3pm3.2i |
⊢ ( ( Base ‘ ndx ) ∈ V ∧ ( Hom ‘ ndx ) ∈ V ∧ ( comp ‘ ndx ) ∈ V ) |
19 |
18
|
a1i |
⊢ ( 𝜑 → ( ( Base ‘ ndx ) ∈ V ∧ ( Hom ‘ ndx ) ∈ V ∧ ( comp ‘ ndx ) ∈ V ) ) |
20 |
|
slotsbhcdif |
⊢ ( ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ∧ ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ∧ ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) |
21 |
20
|
a1i |
⊢ ( 𝜑 → ( ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ∧ ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ∧ ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) ) |
22 |
|
funtpg |
⊢ ( ( ( ( Base ‘ ndx ) ∈ V ∧ ( Hom ‘ ndx ) ∈ V ∧ ( comp ‘ ndx ) ∈ V ) ∧ ( 𝐵 ∈ 𝑉 ∧ 𝐻 ∈ 𝑋 ∧ · ∈ 𝑌 ) ∧ ( ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ∧ ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ∧ ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) ) → Fun { 〈 ( Base ‘ ndx ) , 𝐵 〉 , 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ) |
23 |
19 2 3 4 21 22
|
syl131anc |
⊢ ( 𝜑 → Fun { 〈 ( Base ‘ ndx ) , 𝐵 〉 , 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ) |
24 |
1
|
funeqd |
⊢ ( 𝜑 → ( Fun 𝐶 ↔ Fun { 〈 ( Base ‘ ndx ) , 𝐵 〉 , 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ) ) |
25 |
23 24
|
mpbird |
⊢ ( 𝜑 → Fun 𝐶 ) |
26 |
1 2 3 4
|
estrreslem2 |
⊢ ( 𝜑 → ( Base ‘ ndx ) ∈ dom 𝐶 ) |
27 |
1 2
|
estrreslem1 |
⊢ ( 𝜑 → 𝐵 = ( Base ‘ 𝐶 ) ) |
28 |
6 27
|
sseqtrd |
⊢ ( 𝜑 → 𝐴 ⊆ ( Base ‘ 𝐶 ) ) |
29 |
10 11 12 14 25 26 28
|
ressval3d |
⊢ ( 𝜑 → ( 𝐶 ↾s 𝐴 ) = ( 𝐶 sSet 〈 ( Base ‘ ndx ) , 𝐴 〉 ) ) |
30 |
29
|
reseq1d |
⊢ ( 𝜑 → ( ( 𝐶 ↾s 𝐴 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) = ( ( 𝐶 sSet 〈 ( Base ‘ ndx ) , 𝐴 〉 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) ) |
31 |
30
|
uneq1d |
⊢ ( 𝜑 → ( ( ( 𝐶 ↾s 𝐴 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) ∪ { 〈 ( Hom ‘ ndx ) , 𝐺 〉 } ) = ( ( ( 𝐶 sSet 〈 ( Base ‘ ndx ) , 𝐴 〉 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) ∪ { 〈 ( Hom ‘ ndx ) , 𝐺 〉 } ) ) |
32 |
2 6
|
ssexd |
⊢ ( 𝜑 → 𝐴 ∈ V ) |
33 |
|
setsval |
⊢ ( ( 𝐶 ∈ V ∧ 𝐴 ∈ V ) → ( 𝐶 sSet 〈 ( Base ‘ ndx ) , 𝐴 〉 ) = ( ( 𝐶 ↾ ( V ∖ { ( Base ‘ ndx ) } ) ) ∪ { 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) ) |
34 |
14 32 33
|
syl2anc |
⊢ ( 𝜑 → ( 𝐶 sSet 〈 ( Base ‘ ndx ) , 𝐴 〉 ) = ( ( 𝐶 ↾ ( V ∖ { ( Base ‘ ndx ) } ) ) ∪ { 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) ) |
35 |
34
|
reseq1d |
⊢ ( 𝜑 → ( ( 𝐶 sSet 〈 ( Base ‘ ndx ) , 𝐴 〉 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) = ( ( ( 𝐶 ↾ ( V ∖ { ( Base ‘ ndx ) } ) ) ∪ { 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) ) |
36 |
|
fvexd |
⊢ ( 𝜑 → ( Hom ‘ ndx ) ∈ V ) |
37 |
|
fvexd |
⊢ ( 𝜑 → ( comp ‘ ndx ) ∈ V ) |
38 |
3
|
elexd |
⊢ ( 𝜑 → 𝐻 ∈ V ) |
39 |
4
|
elexd |
⊢ ( 𝜑 → · ∈ V ) |
40 |
|
simp1 |
⊢ ( ( ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ∧ ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ∧ ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) → ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ) |
41 |
40
|
necomd |
⊢ ( ( ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ∧ ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ∧ ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) → ( Hom ‘ ndx ) ≠ ( Base ‘ ndx ) ) |
42 |
20 41
|
mp1i |
⊢ ( 𝜑 → ( Hom ‘ ndx ) ≠ ( Base ‘ ndx ) ) |
43 |
|
simp2 |
⊢ ( ( ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ∧ ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ∧ ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) → ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ) |
44 |
43
|
necomd |
⊢ ( ( ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ∧ ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ∧ ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) → ( comp ‘ ndx ) ≠ ( Base ‘ ndx ) ) |
45 |
20 44
|
mp1i |
⊢ ( 𝜑 → ( comp ‘ ndx ) ≠ ( Base ‘ ndx ) ) |
46 |
1 36 37 38 39 42 45
|
tpres |
⊢ ( 𝜑 → ( 𝐶 ↾ ( V ∖ { ( Base ‘ ndx ) } ) ) = { 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ) |
47 |
46
|
uneq1d |
⊢ ( 𝜑 → ( ( 𝐶 ↾ ( V ∖ { ( Base ‘ ndx ) } ) ) ∪ { 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) = ( { 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ∪ { 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) ) |
48 |
|
df-tp |
⊢ { 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 , 〈 ( Base ‘ ndx ) , 𝐴 〉 } = ( { 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ∪ { 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) |
49 |
47 48
|
eqtr4di |
⊢ ( 𝜑 → ( ( 𝐶 ↾ ( V ∖ { ( Base ‘ ndx ) } ) ) ∪ { 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) = { 〈 ( Hom ‘ ndx ) , 𝐻 〉 , 〈 ( comp ‘ ndx ) , · 〉 , 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) |
50 |
|
fvexd |
⊢ ( 𝜑 → ( Base ‘ ndx ) ∈ V ) |
51 |
|
simp3 |
⊢ ( ( ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ∧ ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ∧ ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) → ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) |
52 |
51
|
necomd |
⊢ ( ( ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ∧ ( Base ‘ ndx ) ≠ ( comp ‘ ndx ) ∧ ( Hom ‘ ndx ) ≠ ( comp ‘ ndx ) ) → ( comp ‘ ndx ) ≠ ( Hom ‘ ndx ) ) |
53 |
20 52
|
mp1i |
⊢ ( 𝜑 → ( comp ‘ ndx ) ≠ ( Hom ‘ ndx ) ) |
54 |
20 40
|
mp1i |
⊢ ( 𝜑 → ( Base ‘ ndx ) ≠ ( Hom ‘ ndx ) ) |
55 |
49 37 50 39 32 53 54
|
tpres |
⊢ ( 𝜑 → ( ( ( 𝐶 ↾ ( V ∖ { ( Base ‘ ndx ) } ) ) ∪ { 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) = { 〈 ( comp ‘ ndx ) , · 〉 , 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) |
56 |
35 55
|
eqtrd |
⊢ ( 𝜑 → ( ( 𝐶 sSet 〈 ( Base ‘ ndx ) , 𝐴 〉 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) = { 〈 ( comp ‘ ndx ) , · 〉 , 〈 ( Base ‘ ndx ) , 𝐴 〉 } ) |
57 |
56
|
uneq1d |
⊢ ( 𝜑 → ( ( ( 𝐶 sSet 〈 ( Base ‘ ndx ) , 𝐴 〉 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) ∪ { 〈 ( Hom ‘ ndx ) , 𝐺 〉 } ) = ( { 〈 ( comp ‘ ndx ) , · 〉 , 〈 ( Base ‘ ndx ) , 𝐴 〉 } ∪ { 〈 ( Hom ‘ ndx ) , 𝐺 〉 } ) ) |
58 |
|
df-tp |
⊢ { 〈 ( comp ‘ ndx ) , · 〉 , 〈 ( Base ‘ ndx ) , 𝐴 〉 , 〈 ( Hom ‘ ndx ) , 𝐺 〉 } = ( { 〈 ( comp ‘ ndx ) , · 〉 , 〈 ( Base ‘ ndx ) , 𝐴 〉 } ∪ { 〈 ( Hom ‘ ndx ) , 𝐺 〉 } ) |
59 |
|
tprot |
⊢ { 〈 ( comp ‘ ndx ) , · 〉 , 〈 ( Base ‘ ndx ) , 𝐴 〉 , 〈 ( Hom ‘ ndx ) , 𝐺 〉 } = { 〈 ( Base ‘ ndx ) , 𝐴 〉 , 〈 ( Hom ‘ ndx ) , 𝐺 〉 , 〈 ( comp ‘ ndx ) , · 〉 } |
60 |
58 59
|
eqtr3i |
⊢ ( { 〈 ( comp ‘ ndx ) , · 〉 , 〈 ( Base ‘ ndx ) , 𝐴 〉 } ∪ { 〈 ( Hom ‘ ndx ) , 𝐺 〉 } ) = { 〈 ( Base ‘ ndx ) , 𝐴 〉 , 〈 ( Hom ‘ ndx ) , 𝐺 〉 , 〈 ( comp ‘ ndx ) , · 〉 } |
61 |
57 60
|
eqtrdi |
⊢ ( 𝜑 → ( ( ( 𝐶 sSet 〈 ( Base ‘ ndx ) , 𝐴 〉 ) ↾ ( V ∖ { ( Hom ‘ ndx ) } ) ) ∪ { 〈 ( Hom ‘ ndx ) , 𝐺 〉 } ) = { 〈 ( Base ‘ ndx ) , 𝐴 〉 , 〈 ( Hom ‘ ndx ) , 𝐺 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ) |
62 |
9 31 61
|
3eqtrd |
⊢ ( 𝜑 → ( ( 𝐶 ↾s 𝐴 ) sSet 〈 ( Hom ‘ ndx ) , 𝐺 〉 ) = { 〈 ( Base ‘ ndx ) , 𝐴 〉 , 〈 ( Hom ‘ ndx ) , 𝐺 〉 , 〈 ( comp ‘ ndx ) , · 〉 } ) |