Proof of Theorem termcfuncval
| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | termcfuncval.x | . . 3
⊢ 𝑋 = ((1st ‘𝐾)‘𝑌) | 
| 2 |  | termcfuncval.b | . . . . 5
⊢ 𝐵 = (Base‘𝐷) | 
| 3 |  | diag1f1o.a | . . . . 5
⊢ 𝐴 = (Base‘𝐶) | 
| 4 |  | termcfuncval.k | . . . . . 6
⊢ (𝜑 → 𝐾 ∈ (𝐷 Func 𝐶)) | 
| 5 | 4 | func1st2nd 48927 | . . . . 5
⊢ (𝜑 → (1st
‘𝐾)(𝐷 Func 𝐶)(2nd ‘𝐾)) | 
| 6 | 2, 3, 5 | funcf1 17912 | . . . 4
⊢ (𝜑 → (1st
‘𝐾):𝐵⟶𝐴) | 
| 7 |  | termcfuncval.y | . . . 4
⊢ (𝜑 → 𝑌 ∈ 𝐵) | 
| 8 | 6, 7 | ffvelcdmd 7104 | . . 3
⊢ (𝜑 → ((1st
‘𝐾)‘𝑌) ∈ 𝐴) | 
| 9 | 1, 8 | eqeltrid 2844 | . 2
⊢ (𝜑 → 𝑋 ∈ 𝐴) | 
| 10 |  | relfunc 17908 | . . . 4
⊢ Rel
(𝐷 Func 𝐶) | 
| 11 |  | 1st2nd 8065 | . . . 4
⊢ ((Rel
(𝐷 Func 𝐶) ∧ 𝐾 ∈ (𝐷 Func 𝐶)) → 𝐾 = 〈(1st ‘𝐾), (2nd ‘𝐾)〉) | 
| 12 | 10, 4, 11 | sylancr 587 | . . 3
⊢ (𝜑 → 𝐾 = 〈(1st ‘𝐾), (2nd ‘𝐾)〉) | 
| 13 |  | diag1f1o.d | . . . . . . . . . 10
⊢ (𝜑 → 𝐷 ∈ TermCat) | 
| 14 | 13, 2, 7 | termcbas2 49153 | . . . . . . . . 9
⊢ (𝜑 → 𝐵 = {𝑌}) | 
| 15 | 14 | feq2d 6721 | . . . . . . . 8
⊢ (𝜑 → ((1st
‘𝐾):𝐵⟶𝐴 ↔ (1st ‘𝐾):{𝑌}⟶𝐴)) | 
| 16 | 6, 15 | mpbid 232 | . . . . . . 7
⊢ (𝜑 → (1st
‘𝐾):{𝑌}⟶𝐴) | 
| 17 |  | fsn2g 7157 | . . . . . . . 8
⊢ (𝑌 ∈ 𝐵 → ((1st ‘𝐾):{𝑌}⟶𝐴 ↔ (((1st ‘𝐾)‘𝑌) ∈ 𝐴 ∧ (1st ‘𝐾) = {〈𝑌, ((1st ‘𝐾)‘𝑌)〉}))) | 
| 18 | 7, 17 | syl 17 | . . . . . . 7
⊢ (𝜑 → ((1st
‘𝐾):{𝑌}⟶𝐴 ↔ (((1st ‘𝐾)‘𝑌) ∈ 𝐴 ∧ (1st ‘𝐾) = {〈𝑌, ((1st ‘𝐾)‘𝑌)〉}))) | 
| 19 | 16, 18 | mpbid 232 | . . . . . 6
⊢ (𝜑 → (((1st
‘𝐾)‘𝑌) ∈ 𝐴 ∧ (1st ‘𝐾) = {〈𝑌, ((1st ‘𝐾)‘𝑌)〉})) | 
| 20 | 19 | simprd 495 | . . . . 5
⊢ (𝜑 → (1st
‘𝐾) = {〈𝑌, ((1st ‘𝐾)‘𝑌)〉}) | 
| 21 | 1 | opeq2i 4876 | . . . . . 6
⊢
〈𝑌, 𝑋〉 = 〈𝑌, ((1st ‘𝐾)‘𝑌)〉 | 
| 22 | 21 | sneqi 4636 | . . . . 5
⊢
{〈𝑌, 𝑋〉} = {〈𝑌, ((1st ‘𝐾)‘𝑌)〉} | 
| 23 | 20, 22 | eqtr4di 2794 | . . . 4
⊢ (𝜑 → (1st
‘𝐾) = {〈𝑌, 𝑋〉}) | 
| 24 | 2, 5 | funcfn2 17915 | . . . . . . 7
⊢ (𝜑 → (2nd
‘𝐾) Fn (𝐵 × 𝐵)) | 
| 25 | 14 | sqxpeqd 5716 | . . . . . . . . 9
⊢ (𝜑 → (𝐵 × 𝐵) = ({𝑌} × {𝑌})) | 
| 26 |  | xpsng 7158 | . . . . . . . . . 10
⊢ ((𝑌 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → ({𝑌} × {𝑌}) = {〈𝑌, 𝑌〉}) | 
| 27 | 7, 7, 26 | syl2anc 584 | . . . . . . . . 9
⊢ (𝜑 → ({𝑌} × {𝑌}) = {〈𝑌, 𝑌〉}) | 
| 28 | 25, 27 | eqtrd 2776 | . . . . . . . 8
⊢ (𝜑 → (𝐵 × 𝐵) = {〈𝑌, 𝑌〉}) | 
| 29 | 28 | fneq2d 6661 | . . . . . . 7
⊢ (𝜑 → ((2nd
‘𝐾) Fn (𝐵 × 𝐵) ↔ (2nd ‘𝐾) Fn {〈𝑌, 𝑌〉})) | 
| 30 | 24, 29 | mpbid 232 | . . . . . 6
⊢ (𝜑 → (2nd
‘𝐾) Fn {〈𝑌, 𝑌〉}) | 
| 31 |  | opex 5468 | . . . . . . 7
⊢
〈𝑌, 𝑌〉 ∈ V | 
| 32 | 31 | fnsnb 7186 | . . . . . 6
⊢
((2nd ‘𝐾) Fn {〈𝑌, 𝑌〉} ↔ (2nd ‘𝐾) = {〈〈𝑌, 𝑌〉, ((2nd ‘𝐾)‘〈𝑌, 𝑌〉)〉}) | 
| 33 | 30, 32 | sylib 218 | . . . . 5
⊢ (𝜑 → (2nd
‘𝐾) =
{〈〈𝑌, 𝑌〉, ((2nd
‘𝐾)‘〈𝑌, 𝑌〉)〉}) | 
| 34 |  | df-ov 7435 | . . . . . . . 8
⊢ (𝑌(2nd ‘𝐾)𝑌) = ((2nd ‘𝐾)‘〈𝑌, 𝑌〉) | 
| 35 |  | eqid 2736 | . . . . . . . . . . . . 13
⊢ (Hom
‘𝐷) = (Hom
‘𝐷) | 
| 36 |  | eqid 2736 | . . . . . . . . . . . . 13
⊢ (Hom
‘𝐶) = (Hom
‘𝐶) | 
| 37 | 2, 35, 36, 5, 7, 7 | funcf2 17914 | . . . . . . . . . . . 12
⊢ (𝜑 → (𝑌(2nd ‘𝐾)𝑌):(𝑌(Hom ‘𝐷)𝑌)⟶(((1st ‘𝐾)‘𝑌)(Hom ‘𝐶)((1st ‘𝐾)‘𝑌))) | 
| 38 |  | termcfuncval.i | . . . . . . . . . . . . . . 15
⊢ 𝐼 = (Id‘𝐷) | 
| 39 | 13, 2, 7, 7, 35, 38 | termchom 49159 | . . . . . . . . . . . . . 14
⊢ (𝜑 → (𝑌(Hom ‘𝐷)𝑌) = {(𝐼‘𝑌)}) | 
| 40 | 39 | eqcomd 2742 | . . . . . . . . . . . . 13
⊢ (𝜑 → {(𝐼‘𝑌)} = (𝑌(Hom ‘𝐷)𝑌)) | 
| 41 | 1, 1 | oveq12i 7444 | . . . . . . . . . . . . . 14
⊢ (𝑋(Hom ‘𝐶)𝑋) = (((1st ‘𝐾)‘𝑌)(Hom ‘𝐶)((1st ‘𝐾)‘𝑌)) | 
| 42 | 41 | a1i 11 | . . . . . . . . . . . . 13
⊢ (𝜑 → (𝑋(Hom ‘𝐶)𝑋) = (((1st ‘𝐾)‘𝑌)(Hom ‘𝐶)((1st ‘𝐾)‘𝑌))) | 
| 43 | 40, 42 | feq23d 6730 | . . . . . . . . . . . 12
⊢ (𝜑 → ((𝑌(2nd ‘𝐾)𝑌):{(𝐼‘𝑌)}⟶(𝑋(Hom ‘𝐶)𝑋) ↔ (𝑌(2nd ‘𝐾)𝑌):(𝑌(Hom ‘𝐷)𝑌)⟶(((1st ‘𝐾)‘𝑌)(Hom ‘𝐶)((1st ‘𝐾)‘𝑌)))) | 
| 44 | 37, 43 | mpbird 257 | . . . . . . . . . . 11
⊢ (𝜑 → (𝑌(2nd ‘𝐾)𝑌):{(𝐼‘𝑌)}⟶(𝑋(Hom ‘𝐶)𝑋)) | 
| 45 |  | fvex 6918 | . . . . . . . . . . . 12
⊢ (𝐼‘𝑌) ∈ V | 
| 46 | 45 | fsn2 7155 | . . . . . . . . . . 11
⊢ ((𝑌(2nd ‘𝐾)𝑌):{(𝐼‘𝑌)}⟶(𝑋(Hom ‘𝐶)𝑋) ↔ (((𝑌(2nd ‘𝐾)𝑌)‘(𝐼‘𝑌)) ∈ (𝑋(Hom ‘𝐶)𝑋) ∧ (𝑌(2nd ‘𝐾)𝑌) = {〈(𝐼‘𝑌), ((𝑌(2nd ‘𝐾)𝑌)‘(𝐼‘𝑌))〉})) | 
| 47 | 44, 46 | sylib 218 | . . . . . . . . . 10
⊢ (𝜑 → (((𝑌(2nd ‘𝐾)𝑌)‘(𝐼‘𝑌)) ∈ (𝑋(Hom ‘𝐶)𝑋) ∧ (𝑌(2nd ‘𝐾)𝑌) = {〈(𝐼‘𝑌), ((𝑌(2nd ‘𝐾)𝑌)‘(𝐼‘𝑌))〉})) | 
| 48 | 47 | simprd 495 | . . . . . . . . 9
⊢ (𝜑 → (𝑌(2nd ‘𝐾)𝑌) = {〈(𝐼‘𝑌), ((𝑌(2nd ‘𝐾)𝑌)‘(𝐼‘𝑌))〉}) | 
| 49 |  | termcfuncval.1 | . . . . . . . . . . . . 13
⊢  1 =
(Id‘𝐶) | 
| 50 | 2, 38, 49, 5, 7 | funcid 17916 | . . . . . . . . . . . 12
⊢ (𝜑 → ((𝑌(2nd ‘𝐾)𝑌)‘(𝐼‘𝑌)) = ( 1 ‘((1st
‘𝐾)‘𝑌))) | 
| 51 | 1 | fveq2i 6908 | . . . . . . . . . . . 12
⊢ ( 1 ‘𝑋) = ( 1 ‘((1st
‘𝐾)‘𝑌)) | 
| 52 | 50, 51 | eqtr4di 2794 | . . . . . . . . . . 11
⊢ (𝜑 → ((𝑌(2nd ‘𝐾)𝑌)‘(𝐼‘𝑌)) = ( 1 ‘𝑋)) | 
| 53 | 52 | opeq2d 4879 | . . . . . . . . . 10
⊢ (𝜑 → 〈(𝐼‘𝑌), ((𝑌(2nd ‘𝐾)𝑌)‘(𝐼‘𝑌))〉 = 〈(𝐼‘𝑌), ( 1 ‘𝑋)〉) | 
| 54 | 53 | sneqd 4637 | . . . . . . . . 9
⊢ (𝜑 → {〈(𝐼‘𝑌), ((𝑌(2nd ‘𝐾)𝑌)‘(𝐼‘𝑌))〉} = {〈(𝐼‘𝑌), ( 1 ‘𝑋)〉}) | 
| 55 | 48, 54 | eqtrd 2776 | . . . . . . . 8
⊢ (𝜑 → (𝑌(2nd ‘𝐾)𝑌) = {〈(𝐼‘𝑌), ( 1 ‘𝑋)〉}) | 
| 56 | 34, 55 | eqtr3id 2790 | . . . . . . 7
⊢ (𝜑 → ((2nd
‘𝐾)‘〈𝑌, 𝑌〉) = {〈(𝐼‘𝑌), ( 1 ‘𝑋)〉}) | 
| 57 | 56 | opeq2d 4879 | . . . . . 6
⊢ (𝜑 → 〈〈𝑌, 𝑌〉, ((2nd ‘𝐾)‘〈𝑌, 𝑌〉)〉 = 〈〈𝑌, 𝑌〉, {〈(𝐼‘𝑌), ( 1 ‘𝑋)〉}〉) | 
| 58 | 57 | sneqd 4637 | . . . . 5
⊢ (𝜑 → {〈〈𝑌, 𝑌〉, ((2nd ‘𝐾)‘〈𝑌, 𝑌〉)〉} = {〈〈𝑌, 𝑌〉, {〈(𝐼‘𝑌), ( 1 ‘𝑋)〉}〉}) | 
| 59 | 33, 58 | eqtrd 2776 | . . . 4
⊢ (𝜑 → (2nd
‘𝐾) =
{〈〈𝑌, 𝑌〉, {〈(𝐼‘𝑌), ( 1 ‘𝑋)〉}〉}) | 
| 60 | 23, 59 | opeq12d 4880 | . . 3
⊢ (𝜑 → 〈(1st
‘𝐾), (2nd
‘𝐾)〉 =
〈{〈𝑌, 𝑋〉}, {〈〈𝑌, 𝑌〉, {〈(𝐼‘𝑌), ( 1 ‘𝑋)〉}〉}〉) | 
| 61 | 12, 60 | eqtrd 2776 | . 2
⊢ (𝜑 → 𝐾 = 〈{〈𝑌, 𝑋〉}, {〈〈𝑌, 𝑌〉, {〈(𝐼‘𝑌), ( 1 ‘𝑋)〉}〉}〉) | 
| 62 | 9, 61 | jca 511 | 1
⊢ (𝜑 → (𝑋 ∈ 𝐴 ∧ 𝐾 = 〈{〈𝑌, 𝑋〉}, {〈〈𝑌, 𝑌〉, {〈(𝐼‘𝑌), ( 1 ‘𝑋)〉}〉}〉)) |