Metamath Proof Explorer


Theorem bj-imdirco

Description: Functorial property of the direct image: the direct image by a composition is the composition of the direct images. (Contributed by BJ, 23-May-2024)

Ref Expression
Hypotheses bj-imdirco.exa φ A U
bj-imdirco.exb φ B V
bj-imdirco.exc φ C W
bj-imdirco.arg1 φ R A × B
bj-imdirco.arg2 φ S B × C
Assertion bj-imdirco Could not format assertion : No typesetting found for |- ( ph -> ( ( A ~P_* C ) ` ( S o. R ) ) = ( ( ( B ~P_* C ) ` S ) o. ( ( A ~P_* B ) ` R ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 bj-imdirco.exa φ A U
2 bj-imdirco.exb φ B V
3 bj-imdirco.exc φ C W
4 bj-imdirco.arg1 φ R A × B
5 bj-imdirco.arg2 φ S B × C
6 imaco S R x = S R x
7 6 eqeq1i S R x = z S R x = z
8 7 anbi2i x A z C S R x = z x A z C S R x = z
9 8 a1i φ x A z C S R x = z x A z C S R x = z
10 1 2 xpexd φ A × B V
11 10 4 ssexd φ R V
12 imaexg R V R x V
13 11 12 syl φ R x V
14 imass1 R A × B R x A × B x
15 xpima A × B x = if A x = B
16 simpr A x = u u
17 simpr ¬ A x = u B u B
18 16 17 orim12i A x = u ¬ A x = u B u u B
19 elif u if A x = B A x = u ¬ A x = u B
20 elun u B u u B
21 18 19 20 3imtr4i u if A x = B u B
22 21 ssriv if A x = B B
23 0ss B
24 ssid B B
25 23 24 unssi B B
26 22 25 sstri if A x = B B
27 15 26 eqsstri A × B x B
28 14 27 sstrdi R A × B R x B
29 4 28 syl φ R x B
30 eqidd φ R x = R x
31 29 30 jca φ R x B R x = R x
32 sseq1 y = R x y B R x B
33 eqeq2 y = R x R x = y R x = R x
34 32 33 anbi12d y = R x y B R x = y R x B R x = R x
35 13 31 34 spcedv φ y y B R x = y
36 35 biantrurd φ S R x = z y y B R x = y S R x = z
37 19.41v y y B R x = y S R x = z y y B R x = y S R x = z
38 anass y B R x = y S R x = z y B R x = y S R x = z
39 38 exbii y y B R x = y S R x = z y y B R x = y S R x = z
40 37 39 bitr3i y y B R x = y S R x = z y y B R x = y S R x = z
41 36 40 bitrdi φ S R x = z y y B R x = y S R x = z
42 imaeq2 R x = y S R x = S y
43 42 eqeq1d R x = y S R x = z S y = z
44 43 pm5.32i R x = y S R x = z R x = y S y = z
45 44 bianass y B R x = y S R x = z y B R x = y S y = z
46 45 biancomi y B R x = y S R x = z S y = z y B R x = y
47 46 exbii y y B R x = y S R x = z y S y = z y B R x = y
48 47 a1i φ y y B R x = y S R x = z y S y = z y B R x = y
49 pm4.24 y B y B y B
50 49 anbi1i y B R x = y y B y B R x = y
51 anass y B y B R x = y y B y B R x = y
52 50 51 bitri y B R x = y y B y B R x = y
53 52 anbi2i S y = z y B R x = y S y = z y B y B R x = y
54 an12 S y = z y B y B R x = y y B S y = z y B R x = y
55 53 54 bitri S y = z y B R x = y y B S y = z y B R x = y
56 55 exbii y S y = z y B R x = y y y B S y = z y B R x = y
57 56 a1i φ y S y = z y B R x = y y y B S y = z y B R x = y
58 41 48 57 3bitrd φ S R x = z y y B S y = z y B R x = y
59 58 anbi2d φ x A z C S R x = z x A z C y y B S y = z y B R x = y
60 19.42v y x A z C y B S y = z y B R x = y x A z C y y B S y = z y B R x = y
61 anass x A z C y B S y = z y B R x = y x A z C y B S y = z y B R x = y
62 ancom R x = y y B z C S y = z y B y B R x = y y B z C S y = z
63 62 bianass x A R x = y y B z C S y = z y B x A y B R x = y y B z C S y = z
64 ancom y B z C S y = z y B R x = y R x = y y B z C S y = z y B
65 ancom z C y B y B z C
66 65 anbi1i z C y B S y = z y B z C S y = z
67 66 anbi1i z C y B S y = z y B R x = y y B z C S y = z y B R x = y
68 biid y B S y = z y B R x = y y B S y = z y B R x = y
69 68 bianass z C y B S y = z y B R x = y z C y B S y = z y B R x = y
70 anass z C y B S y = z y B R x = y z C y B S y = z y B R x = y
71 69 70 bitr4i z C y B S y = z y B R x = y z C y B S y = z y B R x = y
72 anass y B z C S y = z y B R x = y y B z C S y = z y B R x = y
73 67 71 72 3bitr4i z C y B S y = z y B R x = y y B z C S y = z y B R x = y
74 anass R x = y y B z C S y = z y B R x = y y B z C S y = z y B
75 64 73 74 3bitr4i z C y B S y = z y B R x = y R x = y y B z C S y = z y B
76 75 anbi2i x A z C y B S y = z y B R x = y x A R x = y y B z C S y = z y B
77 anass x A y B R x = y y B z C S y = z x A y B R x = y y B z C S y = z
78 63 76 77 3bitr4i x A z C y B S y = z y B R x = y x A y B R x = y y B z C S y = z
79 61 78 bitri x A z C y B S y = z y B R x = y x A y B R x = y y B z C S y = z
80 79 exbii y x A z C y B S y = z y B R x = y y x A y B R x = y y B z C S y = z
81 60 80 bitr3i x A z C y y B S y = z y B R x = y y x A y B R x = y y B z C S y = z
82 81 a1i φ x A z C y y B S y = z y B R x = y y x A y B R x = y y B z C S y = z
83 9 59 82 3bitrd φ x A z C S R x = z y x A y B R x = y y B z C S y = z
84 83 opabbidv φ x z | x A z C S R x = z = x z | y x A y B R x = y y B z C S y = z
85 bj-opabco y z | y B z C S y = z x y | x A y B R x = y = x z | y x A y B R x = y y B z C S y = z
86 84 85 eqtr4di φ x z | x A z C S R x = z = y z | y B z C S y = z x y | x A y B R x = y
87 5 4 coss12d φ S R B × C A × B
88 bj-xpcossxp B × C A × B A × C
89 87 88 sstrdi φ S R A × C
90 1 3 89 bj-imdirval2 Could not format ( ph -> ( ( A ~P_* C ) ` ( S o. R ) ) = { <. x , z >. | ( ( x C_ A /\ z C_ C ) /\ ( ( S o. R ) " x ) = z ) } ) : No typesetting found for |- ( ph -> ( ( A ~P_* C ) ` ( S o. R ) ) = { <. x , z >. | ( ( x C_ A /\ z C_ C ) /\ ( ( S o. R ) " x ) = z ) } ) with typecode |-
91 2 3 5 bj-imdirval2 Could not format ( ph -> ( ( B ~P_* C ) ` S ) = { <. y , z >. | ( ( y C_ B /\ z C_ C ) /\ ( S " y ) = z ) } ) : No typesetting found for |- ( ph -> ( ( B ~P_* C ) ` S ) = { <. y , z >. | ( ( y C_ B /\ z C_ C ) /\ ( S " y ) = z ) } ) with typecode |-
92 1 2 4 bj-imdirval2 Could not format ( ph -> ( ( A ~P_* B ) ` R ) = { <. x , y >. | ( ( x C_ A /\ y C_ B ) /\ ( R " x ) = y ) } ) : No typesetting found for |- ( ph -> ( ( A ~P_* B ) ` R ) = { <. x , y >. | ( ( x C_ A /\ y C_ B ) /\ ( R " x ) = y ) } ) with typecode |-
93 91 92 coeq12d Could not format ( ph -> ( ( ( B ~P_* C ) ` S ) o. ( ( A ~P_* B ) ` R ) ) = ( { <. y , z >. | ( ( y C_ B /\ z C_ C ) /\ ( S " y ) = z ) } o. { <. x , y >. | ( ( x C_ A /\ y C_ B ) /\ ( R " x ) = y ) } ) ) : No typesetting found for |- ( ph -> ( ( ( B ~P_* C ) ` S ) o. ( ( A ~P_* B ) ` R ) ) = ( { <. y , z >. | ( ( y C_ B /\ z C_ C ) /\ ( S " y ) = z ) } o. { <. x , y >. | ( ( x C_ A /\ y C_ B ) /\ ( R " x ) = y ) } ) ) with typecode |-
94 86 90 93 3eqtr4d Could not format ( ph -> ( ( A ~P_* C ) ` ( S o. R ) ) = ( ( ( B ~P_* C ) ` S ) o. ( ( A ~P_* B ) ` R ) ) ) : No typesetting found for |- ( ph -> ( ( A ~P_* C ) ` ( S o. R ) ) = ( ( ( B ~P_* C ) ` S ) o. ( ( A ~P_* B ) ` R ) ) ) with typecode |-