Metamath Proof Explorer


Theorem derangenlem

Description: One half of derangen . (Contributed by Mario Carneiro, 22-Jan-2015)

Ref Expression
Hypothesis derang.d D=xFinf|f:x1-1 ontoxyxfyy
Assertion derangenlem ABBFinDADB

Proof

Step Hyp Ref Expression
1 derang.d D=xFinf|f:x1-1 ontoxyxfyy
2 simpl ABBFinAB
3 bren ABss:A1-1 ontoB
4 2 3 sylib ABBFinss:A1-1 ontoB
5 deranglem BFinf|f:B1-1 ontoByBfyyFin
6 5 adantl ABBFinf|f:B1-1 ontoByBfyyFin
7 f1oco s:A1-1 ontoBg:A1-1 ontoAsg:A1-1 ontoB
8 7 ad2ant2lr ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyysg:A1-1 ontoB
9 f1ocnv s:A1-1 ontoBs-1:B1-1 ontoA
10 9 ad2antlr ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyys-1:B1-1 ontoA
11 f1oco sg:A1-1 ontoBs-1:B1-1 ontoAsgs-1:B1-1 ontoB
12 8 10 11 syl2anc ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyysgs-1:B1-1 ontoB
13 coass sgs-1=sgs-1
14 13 fveq1i sgs-1z=sgs-1z
15 simprl ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyg:A1-1 ontoA
16 f1oco g:A1-1 ontoAs-1:B1-1 ontoAgs-1:B1-1 ontoA
17 15 10 16 syl2anc ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyygs-1:B1-1 ontoA
18 f1of gs-1:B1-1 ontoAgs-1:BA
19 17 18 syl ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyygs-1:BA
20 fvco3 gs-1:BAzBsgs-1z=sgs-1z
21 19 20 sylan ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBsgs-1z=sgs-1z
22 14 21 eqtrid ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBsgs-1z=sgs-1z
23 f1of s-1:B1-1 ontoAs-1:BA
24 10 23 syl ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyys-1:BA
25 fvco3 s-1:BAzBgs-1z=gs-1z
26 24 25 sylan ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBgs-1z=gs-1z
27 24 ffvelcdmda ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBs-1zA
28 simplrr ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzByAgyy
29 fveq2 y=s-1zgy=gs-1z
30 id y=s-1zy=s-1z
31 29 30 neeq12d y=s-1zgyygs-1zs-1z
32 31 rspcv s-1zAyAgyygs-1zs-1z
33 27 28 32 sylc ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBgs-1zs-1z
34 26 33 eqnetrd ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBgs-1zs-1z
35 34 necomd ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBs-1zgs-1z
36 simpllr ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBs:A1-1 ontoB
37 19 ffvelcdmda ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBgs-1zA
38 f1ocnvfv s:A1-1 ontoBgs-1zAsgs-1z=zs-1z=gs-1z
39 36 37 38 syl2anc ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBsgs-1z=zs-1z=gs-1z
40 39 necon3d ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBs-1zgs-1zsgs-1zz
41 35 40 mpd ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBsgs-1zz
42 22 41 eqnetrd ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBsgs-1zz
43 42 ralrimiva ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyzBsgs-1zz
44 fveq2 z=ysgs-1z=sgs-1y
45 id z=yz=y
46 44 45 neeq12d z=ysgs-1zzsgs-1yy
47 46 cbvralvw zBsgs-1zzyBsgs-1yy
48 43 47 sylib ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyyBsgs-1yy
49 12 48 jca ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyysgs-1:B1-1 ontoByBsgs-1yy
50 49 ex ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyysgs-1:B1-1 ontoByBsgs-1yy
51 vex gV
52 f1oeq1 f=gf:A1-1 ontoAg:A1-1 ontoA
53 fveq1 f=gfy=gy
54 53 neeq1d f=gfyygyy
55 54 ralbidv f=gyAfyyyAgyy
56 52 55 anbi12d f=gf:A1-1 ontoAyAfyyg:A1-1 ontoAyAgyy
57 51 56 elab gf|f:A1-1 ontoAyAfyyg:A1-1 ontoAyAgyy
58 vex sV
59 58 51 coex sgV
60 58 cnvex s-1V
61 59 60 coex sgs-1V
62 f1oeq1 f=sgs-1f:B1-1 ontoBsgs-1:B1-1 ontoB
63 fveq1 f=sgs-1fy=sgs-1y
64 63 neeq1d f=sgs-1fyysgs-1yy
65 64 ralbidv f=sgs-1yBfyyyBsgs-1yy
66 62 65 anbi12d f=sgs-1f:B1-1 ontoByBfyysgs-1:B1-1 ontoByBsgs-1yy
67 61 66 elab sgs-1f|f:B1-1 ontoByBfyysgs-1:B1-1 ontoByBsgs-1yy
68 50 57 67 3imtr4g ABBFins:A1-1 ontoBgf|f:A1-1 ontoAyAfyysgs-1f|f:B1-1 ontoByBfyy
69 vex hV
70 f1oeq1 f=hf:A1-1 ontoAh:A1-1 ontoA
71 fveq1 f=hfy=hy
72 71 neeq1d f=hfyyhyy
73 72 ralbidv f=hyAfyyyAhyy
74 70 73 anbi12d f=hf:A1-1 ontoAyAfyyh:A1-1 ontoAyAhyy
75 69 74 elab hf|f:A1-1 ontoAyAfyyh:A1-1 ontoAyAhyy
76 57 75 anbi12i gf|f:A1-1 ontoAyAfyyhf|f:A1-1 ontoAyAfyyg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyy
77 9 ad2antlr ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyys-1:B1-1 ontoA
78 f1ofo s-1:B1-1 ontoAs-1:BontoA
79 77 78 syl ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyys-1:BontoA
80 8 adantrr ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyysg:A1-1 ontoB
81 f1ofn sg:A1-1 ontoBsgFnA
82 80 81 syl ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyysgFnA
83 simplr ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyys:A1-1 ontoB
84 simprrl ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyyh:A1-1 ontoA
85 f1oco s:A1-1 ontoBh:A1-1 ontoAsh:A1-1 ontoB
86 83 84 85 syl2anc ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyysh:A1-1 ontoB
87 f1ofn sh:A1-1 ontoBshFnA
88 86 87 syl ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyyshFnA
89 cocan2 s-1:BontoAsgFnAshFnAsgs-1=shs-1sg=sh
90 79 82 88 89 syl3anc ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyysgs-1=shs-1sg=sh
91 f1of1 s:A1-1 ontoBs:A1-1B
92 91 ad2antlr ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyys:A1-1B
93 simprll ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyyg:A1-1 ontoA
94 f1of g:A1-1 ontoAg:AA
95 93 94 syl ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyyg:AA
96 f1of h:A1-1 ontoAh:AA
97 84 96 syl ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyyh:AA
98 cocan1 s:A1-1Bg:AAh:AAsg=shg=h
99 92 95 97 98 syl3anc ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyysg=shg=h
100 90 99 bitrd ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyysgs-1=shs-1g=h
101 100 ex ABBFins:A1-1 ontoBg:A1-1 ontoAyAgyyh:A1-1 ontoAyAhyysgs-1=shs-1g=h
102 76 101 biimtrid ABBFins:A1-1 ontoBgf|f:A1-1 ontoAyAfyyhf|f:A1-1 ontoAyAfyysgs-1=shs-1g=h
103 68 102 dom2d ABBFins:A1-1 ontoBf|f:B1-1 ontoByBfyyFinf|f:A1-1 ontoAyAfyyf|f:B1-1 ontoByBfyy
104 103 ex ABBFins:A1-1 ontoBf|f:B1-1 ontoByBfyyFinf|f:A1-1 ontoAyAfyyf|f:B1-1 ontoByBfyy
105 104 exlimdv ABBFinss:A1-1 ontoBf|f:B1-1 ontoByBfyyFinf|f:A1-1 ontoAyAfyyf|f:B1-1 ontoByBfyy
106 4 6 105 mp2d ABBFinf|f:A1-1 ontoAyAfyyf|f:B1-1 ontoByBfyy
107 enfii BFinABAFin
108 107 ancoms ABBFinAFin
109 deranglem AFinf|f:A1-1 ontoAyAfyyFin
110 108 109 syl ABBFinf|f:A1-1 ontoAyAfyyFin
111 hashdom f|f:A1-1 ontoAyAfyyFinf|f:B1-1 ontoByBfyyFinf|f:A1-1 ontoAyAfyyf|f:B1-1 ontoByBfyyf|f:A1-1 ontoAyAfyyf|f:B1-1 ontoByBfyy
112 110 6 111 syl2anc ABBFinf|f:A1-1 ontoAyAfyyf|f:B1-1 ontoByBfyyf|f:A1-1 ontoAyAfyyf|f:B1-1 ontoByBfyy
113 106 112 mpbird ABBFinf|f:A1-1 ontoAyAfyyf|f:B1-1 ontoByBfyy
114 1 derangval AFinDA=f|f:A1-1 ontoAyAfyy
115 108 114 syl ABBFinDA=f|f:A1-1 ontoAyAfyy
116 1 derangval BFinDB=f|f:B1-1 ontoByBfyy
117 116 adantl ABBFinDB=f|f:B1-1 ontoByBfyy
118 113 115 117 3brtr4d ABBFinDADB