Proof of Theorem lmdran
| Step | Hyp | Ref
| Expression |
| 1 | | lmdfval2 49634 |
. . 3
⊢ ((𝐶 Limit 𝐷)‘𝐹) = (( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹) |
| 2 | 1 | breqi 5115 |
. 2
⊢ (𝑋((𝐶 Limit 𝐷)‘𝐹)𝑀 ↔ 𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) |
| 3 | | simpr 484 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) |
| 4 | 3 | up1st2nd 49164 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑋(〈(1st ‘( oppFunc
‘(𝐶Δfunc𝐷))), (2nd ‘( oppFunc
‘(𝐶Δfunc𝐷)))〉((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) |
| 5 | | eqid 2730 |
. . . . . 6
⊢
(oppCat‘(𝐷
FuncCat 𝐶)) =
(oppCat‘(𝐷 FuncCat
𝐶)) |
| 6 | | eqid 2730 |
. . . . . . 7
⊢ (𝐷 FuncCat 𝐶) = (𝐷 FuncCat 𝐶) |
| 7 | 6 | fucbas 17931 |
. . . . . 6
⊢ (𝐷 Func 𝐶) = (Base‘(𝐷 FuncCat 𝐶)) |
| 8 | 4, 5, 7 | oppcuprcl3 49179 |
. . . . 5
⊢ ((𝜑 ∧ 𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝐹 ∈ (𝐷 Func 𝐶)) |
| 9 | | eqid 2730 |
. . . . . 6
⊢
(oppCat‘𝐶) =
(oppCat‘𝐶) |
| 10 | | eqid 2730 |
. . . . . 6
⊢
(Base‘𝐶) =
(Base‘𝐶) |
| 11 | 4, 9, 10 | oppcuprcl4 49178 |
. . . . 5
⊢ ((𝜑 ∧ 𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑋 ∈ (Base‘𝐶)) |
| 12 | 8, 11 | jca 511 |
. . . 4
⊢ ((𝜑 ∧ 𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) |
| 13 | | simpr 484 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) |
| 14 | 13 | up1st2nd 49164 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑌(〈(1st ‘( oppFunc
‘(〈 1 , 𝐶〉 −∘F
𝐺))), (2nd
‘( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺)))〉((oppCat‘(
1 FuncCat
𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) |
| 15 | 14, 5, 7 | oppcuprcl3 49179 |
. . . . 5
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝐹 ∈ (𝐷 Func 𝐶)) |
| 16 | | lmdran.y |
. . . . . . . . 9
⊢ (𝜑 → 𝑌 = ((1st ‘𝐿)‘𝑋)) |
| 17 | 16 | adantr 480 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑌 = ((1st ‘𝐿)‘𝑋)) |
| 18 | | eqid 2730 |
. . . . . . . . . 10
⊢
(oppCat‘( 1 FuncCat 𝐶)) = (oppCat‘( 1 FuncCat 𝐶)) |
| 19 | | eqid 2730 |
. . . . . . . . . . 11
⊢ ( 1 FuncCat 𝐶) = ( 1 FuncCat 𝐶) |
| 20 | 19 | fucbas 17931 |
. . . . . . . . . 10
⊢ ( 1 Func 𝐶) = (Base‘( 1 FuncCat 𝐶)) |
| 21 | 14, 18, 20 | oppcuprcl4 49178 |
. . . . . . . . 9
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑌 ∈ ( 1 Func 𝐶)) |
| 22 | | relfunc 17830 |
. . . . . . . . 9
⊢ Rel (
1 Func
𝐶) |
| 23 | 21, 22 | oppfrcllem 49106 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑌 ≠ ∅) |
| 24 | 17, 23 | eqnetrrd 2994 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → ((1st ‘𝐿)‘𝑋) ≠ ∅) |
| 25 | | fvfundmfvn0 6903 |
. . . . . . . 8
⊢
(((1st ‘𝐿)‘𝑋) ≠ ∅ → (𝑋 ∈ dom (1st ‘𝐿) ∧ Fun ((1st
‘𝐿) ↾ {𝑋}))) |
| 26 | 25 | simpld 494 |
. . . . . . 7
⊢
(((1st ‘𝐿)‘𝑋) ≠ ∅ → 𝑋 ∈ dom (1st ‘𝐿)) |
| 27 | 24, 26 | syl 17 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑋 ∈ dom (1st ‘𝐿)) |
| 28 | | lmdran.1 |
. . . . . . . . . . 11
⊢ (𝜑 → 1 ∈
TermCat) |
| 29 | 28 | adantr 480 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ 𝐹 ∈ (𝐷 Func 𝐶)) → 1 ∈
TermCat) |
| 30 | | simpr 484 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ 𝐹 ∈ (𝐷 Func 𝐶)) → 𝐹 ∈ (𝐷 Func 𝐶)) |
| 31 | 30 | func1st2nd 49055 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝐹 ∈ (𝐷 Func 𝐶)) → (1st ‘𝐹)(𝐷 Func 𝐶)(2nd ‘𝐹)) |
| 32 | 31 | funcrcl3 49059 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ 𝐹 ∈ (𝐷 Func 𝐶)) → 𝐶 ∈ Cat) |
| 33 | | lmdran.l |
. . . . . . . . . 10
⊢ 𝐿 = (𝐶Δfunc 1 ) |
| 34 | 10, 29, 32, 33 | diag1f1o 49513 |
. . . . . . . . 9
⊢ ((𝜑 ∧ 𝐹 ∈ (𝐷 Func 𝐶)) → (1st ‘𝐿):(Base‘𝐶)–1-1-onto→(
1 Func
𝐶)) |
| 35 | | f1of 6802 |
. . . . . . . . 9
⊢
((1st ‘𝐿):(Base‘𝐶)–1-1-onto→(
1 Func
𝐶) → (1st
‘𝐿):(Base‘𝐶)⟶( 1 Func 𝐶)) |
| 36 | 34, 35 | syl 17 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝐹 ∈ (𝐷 Func 𝐶)) → (1st ‘𝐿):(Base‘𝐶)⟶( 1 Func 𝐶)) |
| 37 | 36 | fdmd 6700 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝐹 ∈ (𝐷 Func 𝐶)) → dom (1st ‘𝐿) = (Base‘𝐶)) |
| 38 | 15, 37 | syldan 591 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → dom (1st ‘𝐿) = (Base‘𝐶)) |
| 39 | 27, 38 | eleqtrd 2831 |
. . . . 5
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → 𝑋 ∈ (Base‘𝐶)) |
| 40 | 15, 39 | jca 511 |
. . . 4
⊢ ((𝜑 ∧ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀) → (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) |
| 41 | 9, 10 | oppcbas 17685 |
. . . . 5
⊢
(Base‘𝐶) =
(Base‘(oppCat‘𝐶)) |
| 42 | 18, 20 | oppcbas 17685 |
. . . . 5
⊢ ( 1 Func 𝐶) = (Base‘(oppCat‘(
1 FuncCat
𝐶))) |
| 43 | 16 | adantr 480 |
. . . . . 6
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → 𝑌 = ((1st ‘𝐿)‘𝑋)) |
| 44 | 32 | adantrr 717 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → 𝐶 ∈ Cat) |
| 45 | 28 | adantr 480 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → 1 ∈
TermCat) |
| 46 | 45 | termccd 49458 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → 1 ∈
Cat) |
| 47 | 33, 44, 46, 19 | diagcl 18208 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → 𝐿 ∈ (𝐶 Func ( 1 FuncCat 𝐶))) |
| 48 | 47 | oppf1 49118 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → (1st ‘( oppFunc
‘𝐿)) =
(1st ‘𝐿)) |
| 49 | 48 | fveq1d 6862 |
. . . . . 6
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → ((1st ‘( oppFunc
‘𝐿))‘𝑋) = ((1st
‘𝐿)‘𝑋)) |
| 50 | 43, 49 | eqtr4d 2768 |
. . . . 5
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → 𝑌 = ((1st ‘( oppFunc
‘𝐿))‘𝑋)) |
| 51 | | eqid 2730 |
. . . . . . 7
⊢ (𝐶Δfunc𝐷) = (𝐶Δfunc𝐷) |
| 52 | | lmdran.g |
. . . . . . . 8
⊢ (𝜑 → 𝐺 ∈ (𝐷 Func 1 )) |
| 53 | 52 | adantr 480 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → 𝐺 ∈ (𝐷 Func 1 )) |
| 54 | | eqidd 2731 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → (〈 1 , 𝐶〉 −∘F
𝐺) = (〈 1 , 𝐶〉
−∘F 𝐺)) |
| 55 | 33, 51, 53, 44, 54 | prcofdiag 49373 |
. . . . . 6
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → ((〈 1 , 𝐶〉 −∘F
𝐺)
∘func 𝐿) = (𝐶Δfunc𝐷)) |
| 56 | 19, 44, 6, 53 | prcoffunca 49365 |
. . . . . 6
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → (〈 1 , 𝐶〉 −∘F
𝐺) ∈ (( 1 FuncCat 𝐶) Func (𝐷 FuncCat 𝐶))) |
| 57 | 55, 47, 56 | cofuoppf 49129 |
. . . . 5
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → (( oppFunc ‘(〈 1 , 𝐶〉
−∘F 𝐺)) ∘func ( oppFunc
‘𝐿)) = ( oppFunc
‘(𝐶Δfunc𝐷))) |
| 58 | | simprr 772 |
. . . . 5
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → 𝑋 ∈ (Base‘𝐶)) |
| 59 | 18, 5, 56 | oppfoppc2 49121 |
. . . . 5
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → ( oppFunc ‘(〈 1 , 𝐶〉
−∘F 𝐺)) ∈ ((oppCat‘( 1 FuncCat 𝐶)) Func (oppCat‘(𝐷 FuncCat 𝐶)))) |
| 60 | 44, 45, 19, 33 | diagffth 49517 |
. . . . . 6
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → 𝐿 ∈ ((𝐶 Full ( 1 FuncCat 𝐶)) ∩ (𝐶 Faith ( 1 FuncCat 𝐶)))) |
| 61 | 9, 18, 60 | ffthoppf 49144 |
. . . . 5
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → ( oppFunc ‘𝐿) ∈ (((oppCat‘𝐶) Full (oppCat‘( 1 FuncCat 𝐶))) ∩ ((oppCat‘𝐶) Faith (oppCat‘( 1 FuncCat 𝐶))))) |
| 62 | 34 | adantrr 717 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → (1st ‘𝐿):(Base‘𝐶)–1-1-onto→(
1 Func
𝐶)) |
| 63 | 48 | f1oeq1d 6797 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → ((1st ‘( oppFunc
‘𝐿)):(Base‘𝐶)–1-1-onto→(
1 Func
𝐶) ↔ (1st
‘𝐿):(Base‘𝐶)–1-1-onto→(
1 Func
𝐶))) |
| 64 | 62, 63 | mpbird 257 |
. . . . . 6
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → (1st ‘( oppFunc
‘𝐿)):(Base‘𝐶)–1-1-onto→(
1 Func
𝐶)) |
| 65 | | f1ofo 6809 |
. . . . . 6
⊢
((1st ‘( oppFunc ‘𝐿)):(Base‘𝐶)–1-1-onto→(
1 Func
𝐶) → (1st
‘( oppFunc ‘𝐿)):(Base‘𝐶)–onto→( 1 Func 𝐶)) |
| 66 | 64, 65 | syl 17 |
. . . . 5
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → (1st ‘( oppFunc
‘𝐿)):(Base‘𝐶)–onto→( 1 Func 𝐶)) |
| 67 | 41, 42, 50, 57, 58, 59, 61, 66 | uptr2a 49201 |
. . . 4
⊢ ((𝜑 ∧ (𝐹 ∈ (𝐷 Func 𝐶) ∧ 𝑋 ∈ (Base‘𝐶))) → (𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀 ↔ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀)) |
| 68 | 12, 40, 67 | bibiad 839 |
. . 3
⊢ (𝜑 → (𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀 ↔ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀)) |
| 69 | | eqid 2730 |
. . . . . 6
⊢ (〈
1 , 𝐶〉
−∘F 𝐺) = (〈 1 , 𝐶〉 −∘F
𝐺) |
| 70 | 18, 5, 69 | ranval3 49610 |
. . . . 5
⊢ (𝐺 ∈ (𝐷 Func 1 ) → (𝐺(〈𝐷, 1 〉 Ran 𝐶)𝐹) = (( oppFunc ‘(〈 1 , 𝐶〉
−∘F 𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)) |
| 71 | 52, 70 | syl 17 |
. . . 4
⊢ (𝜑 → (𝐺(〈𝐷, 1 〉 Ran 𝐶)𝐹) = (( oppFunc ‘(〈 1 , 𝐶〉
−∘F 𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)) |
| 72 | 71 | breqd 5120 |
. . 3
⊢ (𝜑 → (𝑌(𝐺(〈𝐷, 1 〉 Ran 𝐶)𝐹)𝑀 ↔ 𝑌(( oppFunc ‘(〈 1 , 𝐶〉 −∘F
𝐺))((oppCat‘( 1 FuncCat 𝐶)) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀)) |
| 73 | 68, 72 | bitr4d 282 |
. 2
⊢ (𝜑 → (𝑋(( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)𝑀 ↔ 𝑌(𝐺(〈𝐷, 1 〉 Ran 𝐶)𝐹)𝑀)) |
| 74 | 2, 73 | bitrid 283 |
1
⊢ (𝜑 → (𝑋((𝐶 Limit 𝐷)‘𝐹)𝑀 ↔ 𝑌(𝐺(〈𝐷, 1 〉 Ran 𝐶)𝐹)𝑀)) |