Metamath Proof Explorer


Theorem derangenlem

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

Ref Expression
Hypothesis derang.d 𝐷 = ( 𝑥 ∈ Fin ↦ ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝑥1-1-onto𝑥 ∧ ∀ 𝑦𝑥 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
Assertion derangenlem ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( 𝐷𝐴 ) ≤ ( 𝐷𝐵 ) )

Proof

Step Hyp Ref Expression
1 derang.d 𝐷 = ( 𝑥 ∈ Fin ↦ ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝑥1-1-onto𝑥 ∧ ∀ 𝑦𝑥 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
2 bren ( 𝐴𝐵 ↔ ∃ 𝑠 𝑠 : 𝐴1-1-onto𝐵 )
3 2 birani ( ( 𝐴𝐵𝐵 ∈ Fin ) → ∃ 𝑠 𝑠 : 𝐴1-1-onto𝐵 )
4 deranglem ( 𝐵 ∈ Fin → { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∈ Fin )
5 4 adantl ( ( 𝐴𝐵𝐵 ∈ Fin ) → { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∈ Fin )
6 f1oco ( ( 𝑠 : 𝐴1-1-onto𝐵𝑔 : 𝐴1-1-onto𝐴 ) → ( 𝑠𝑔 ) : 𝐴1-1-onto𝐵 )
7 6 ad2ant2lr ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → ( 𝑠𝑔 ) : 𝐴1-1-onto𝐵 )
8 f1ocnv ( 𝑠 : 𝐴1-1-onto𝐵 𝑠 : 𝐵1-1-onto𝐴 )
9 8 ad2antlr ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → 𝑠 : 𝐵1-1-onto𝐴 )
10 f1oco ( ( ( 𝑠𝑔 ) : 𝐴1-1-onto𝐵 𝑠 : 𝐵1-1-onto𝐴 ) → ( ( 𝑠𝑔 ) ∘ 𝑠 ) : 𝐵1-1-onto𝐵 )
11 7 9 10 syl2anc ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → ( ( 𝑠𝑔 ) ∘ 𝑠 ) : 𝐵1-1-onto𝐵 )
12 coass ( ( 𝑠𝑔 ) ∘ 𝑠 ) = ( 𝑠 ∘ ( 𝑔 𝑠 ) )
13 12 fveq1i ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑧 ) = ( ( 𝑠 ∘ ( 𝑔 𝑠 ) ) ‘ 𝑧 )
14 simprl ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → 𝑔 : 𝐴1-1-onto𝐴 )
15 f1oco ( ( 𝑔 : 𝐴1-1-onto𝐴 𝑠 : 𝐵1-1-onto𝐴 ) → ( 𝑔 𝑠 ) : 𝐵1-1-onto𝐴 )
16 14 9 15 syl2anc ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → ( 𝑔 𝑠 ) : 𝐵1-1-onto𝐴 )
17 f1of ( ( 𝑔 𝑠 ) : 𝐵1-1-onto𝐴 → ( 𝑔 𝑠 ) : 𝐵𝐴 )
18 16 17 syl ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → ( 𝑔 𝑠 ) : 𝐵𝐴 )
19 fvco3 ( ( ( 𝑔 𝑠 ) : 𝐵𝐴𝑧𝐵 ) → ( ( 𝑠 ∘ ( 𝑔 𝑠 ) ) ‘ 𝑧 ) = ( 𝑠 ‘ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ) )
20 18 19 sylan ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( ( 𝑠 ∘ ( 𝑔 𝑠 ) ) ‘ 𝑧 ) = ( 𝑠 ‘ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ) )
21 13 20 eqtrid ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑧 ) = ( 𝑠 ‘ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ) )
22 f1of ( 𝑠 : 𝐵1-1-onto𝐴 𝑠 : 𝐵𝐴 )
23 9 22 syl ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → 𝑠 : 𝐵𝐴 )
24 fvco3 ( ( 𝑠 : 𝐵𝐴𝑧𝐵 ) → ( ( 𝑔 𝑠 ) ‘ 𝑧 ) = ( 𝑔 ‘ ( 𝑠𝑧 ) ) )
25 23 24 sylan ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( ( 𝑔 𝑠 ) ‘ 𝑧 ) = ( 𝑔 ‘ ( 𝑠𝑧 ) ) )
26 23 ffvelcdmda ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( 𝑠𝑧 ) ∈ 𝐴 )
27 simplrr ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 )
28 fveq2 ( 𝑦 = ( 𝑠𝑧 ) → ( 𝑔𝑦 ) = ( 𝑔 ‘ ( 𝑠𝑧 ) ) )
29 id ( 𝑦 = ( 𝑠𝑧 ) → 𝑦 = ( 𝑠𝑧 ) )
30 28 29 neeq12d ( 𝑦 = ( 𝑠𝑧 ) → ( ( 𝑔𝑦 ) ≠ 𝑦 ↔ ( 𝑔 ‘ ( 𝑠𝑧 ) ) ≠ ( 𝑠𝑧 ) ) )
31 30 rspcv ( ( 𝑠𝑧 ) ∈ 𝐴 → ( ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 → ( 𝑔 ‘ ( 𝑠𝑧 ) ) ≠ ( 𝑠𝑧 ) ) )
32 26 27 31 sylc ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( 𝑔 ‘ ( 𝑠𝑧 ) ) ≠ ( 𝑠𝑧 ) )
33 25 32 eqnetrd ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ≠ ( 𝑠𝑧 ) )
34 33 necomd ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( 𝑠𝑧 ) ≠ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) )
35 simpllr ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → 𝑠 : 𝐴1-1-onto𝐵 )
36 18 ffvelcdmda ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ∈ 𝐴 )
37 f1ocnvfv ( ( 𝑠 : 𝐴1-1-onto𝐵 ∧ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ∈ 𝐴 ) → ( ( 𝑠 ‘ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ) = 𝑧 → ( 𝑠𝑧 ) = ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ) )
38 35 36 37 syl2anc ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( ( 𝑠 ‘ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ) = 𝑧 → ( 𝑠𝑧 ) = ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ) )
39 38 necon3d ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( ( 𝑠𝑧 ) ≠ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) → ( 𝑠 ‘ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ) ≠ 𝑧 ) )
40 34 39 mpd ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( 𝑠 ‘ ( ( 𝑔 𝑠 ) ‘ 𝑧 ) ) ≠ 𝑧 )
41 21 40 eqnetrd ( ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) ∧ 𝑧𝐵 ) → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑧 ) ≠ 𝑧 )
42 41 ralrimiva ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → ∀ 𝑧𝐵 ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑧 ) ≠ 𝑧 )
43 fveq2 ( 𝑧 = 𝑦 → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑧 ) = ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) )
44 id ( 𝑧 = 𝑦𝑧 = 𝑦 )
45 43 44 neeq12d ( 𝑧 = 𝑦 → ( ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑧 ) ≠ 𝑧 ↔ ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) ≠ 𝑦 ) )
46 45 cbvralvw ( ∀ 𝑧𝐵 ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑧 ) ≠ 𝑧 ↔ ∀ 𝑦𝐵 ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) ≠ 𝑦 )
47 42 46 sylib ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → ∀ 𝑦𝐵 ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) ≠ 𝑦 )
48 11 47 jca ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) ≠ 𝑦 ) )
49 48 ex ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) → ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) ≠ 𝑦 ) ) )
50 vex 𝑔 ∈ V
51 f1oeq1 ( 𝑓 = 𝑔 → ( 𝑓 : 𝐴1-1-onto𝐴𝑔 : 𝐴1-1-onto𝐴 ) )
52 fveq1 ( 𝑓 = 𝑔 → ( 𝑓𝑦 ) = ( 𝑔𝑦 ) )
53 52 neeq1d ( 𝑓 = 𝑔 → ( ( 𝑓𝑦 ) ≠ 𝑦 ↔ ( 𝑔𝑦 ) ≠ 𝑦 ) )
54 53 ralbidv ( 𝑓 = 𝑔 → ( ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ↔ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) )
55 51 54 anbi12d ( 𝑓 = 𝑔 → ( ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) ↔ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ) )
56 50 55 elab ( 𝑔 ∈ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ↔ ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) )
57 vex 𝑠 ∈ V
58 57 50 coex ( 𝑠𝑔 ) ∈ V
59 57 cnvex 𝑠 ∈ V
60 58 59 coex ( ( 𝑠𝑔 ) ∘ 𝑠 ) ∈ V
61 f1oeq1 ( 𝑓 = ( ( 𝑠𝑔 ) ∘ 𝑠 ) → ( 𝑓 : 𝐵1-1-onto𝐵 ↔ ( ( 𝑠𝑔 ) ∘ 𝑠 ) : 𝐵1-1-onto𝐵 ) )
62 fveq1 ( 𝑓 = ( ( 𝑠𝑔 ) ∘ 𝑠 ) → ( 𝑓𝑦 ) = ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) )
63 62 neeq1d ( 𝑓 = ( ( 𝑠𝑔 ) ∘ 𝑠 ) → ( ( 𝑓𝑦 ) ≠ 𝑦 ↔ ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) ≠ 𝑦 ) )
64 63 ralbidv ( 𝑓 = ( ( 𝑠𝑔 ) ∘ 𝑠 ) → ( ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ↔ ∀ 𝑦𝐵 ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) ≠ 𝑦 ) )
65 61 64 anbi12d ( 𝑓 = ( ( 𝑠𝑔 ) ∘ 𝑠 ) → ( ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) ↔ ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) ≠ 𝑦 ) ) )
66 60 65 elab ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ∈ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ↔ ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) ‘ 𝑦 ) ≠ 𝑦 ) )
67 49 56 66 3imtr4g ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) → ( 𝑔 ∈ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } → ( ( 𝑠𝑔 ) ∘ 𝑠 ) ∈ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
68 vex ∈ V
69 f1oeq1 ( 𝑓 = → ( 𝑓 : 𝐴1-1-onto𝐴 : 𝐴1-1-onto𝐴 ) )
70 fveq1 ( 𝑓 = → ( 𝑓𝑦 ) = ( 𝑦 ) )
71 70 neeq1d ( 𝑓 = → ( ( 𝑓𝑦 ) ≠ 𝑦 ↔ ( 𝑦 ) ≠ 𝑦 ) )
72 71 ralbidv ( 𝑓 = → ( ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ↔ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) )
73 69 72 anbi12d ( 𝑓 = → ( ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) ↔ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) )
74 68 73 elab ( ∈ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ↔ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) )
75 56 74 anbi12i ( ( 𝑔 ∈ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∧ ∈ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) ↔ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) )
76 8 ad2antlr ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → 𝑠 : 𝐵1-1-onto𝐴 )
77 f1ofo ( 𝑠 : 𝐵1-1-onto𝐴 𝑠 : 𝐵onto𝐴 )
78 76 77 syl ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → 𝑠 : 𝐵onto𝐴 )
79 7 adantrr ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → ( 𝑠𝑔 ) : 𝐴1-1-onto𝐵 )
80 f1ofn ( ( 𝑠𝑔 ) : 𝐴1-1-onto𝐵 → ( 𝑠𝑔 ) Fn 𝐴 )
81 79 80 syl ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → ( 𝑠𝑔 ) Fn 𝐴 )
82 simplr ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → 𝑠 : 𝐴1-1-onto𝐵 )
83 simprrl ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → : 𝐴1-1-onto𝐴 )
84 f1oco ( ( 𝑠 : 𝐴1-1-onto𝐵 : 𝐴1-1-onto𝐴 ) → ( 𝑠 ) : 𝐴1-1-onto𝐵 )
85 82 83 84 syl2anc ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → ( 𝑠 ) : 𝐴1-1-onto𝐵 )
86 f1ofn ( ( 𝑠 ) : 𝐴1-1-onto𝐵 → ( 𝑠 ) Fn 𝐴 )
87 85 86 syl ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → ( 𝑠 ) Fn 𝐴 )
88 cocan2 ( ( 𝑠 : 𝐵onto𝐴 ∧ ( 𝑠𝑔 ) Fn 𝐴 ∧ ( 𝑠 ) Fn 𝐴 ) → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) = ( ( 𝑠 ) ∘ 𝑠 ) ↔ ( 𝑠𝑔 ) = ( 𝑠 ) ) )
89 78 81 87 88 syl3anc ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) = ( ( 𝑠 ) ∘ 𝑠 ) ↔ ( 𝑠𝑔 ) = ( 𝑠 ) ) )
90 f1of1 ( 𝑠 : 𝐴1-1-onto𝐵𝑠 : 𝐴1-1𝐵 )
91 90 ad2antlr ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → 𝑠 : 𝐴1-1𝐵 )
92 simprll ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → 𝑔 : 𝐴1-1-onto𝐴 )
93 f1of ( 𝑔 : 𝐴1-1-onto𝐴𝑔 : 𝐴𝐴 )
94 92 93 syl ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → 𝑔 : 𝐴𝐴 )
95 f1of ( : 𝐴1-1-onto𝐴 : 𝐴𝐴 )
96 83 95 syl ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → : 𝐴𝐴 )
97 cocan1 ( ( 𝑠 : 𝐴1-1𝐵𝑔 : 𝐴𝐴 : 𝐴𝐴 ) → ( ( 𝑠𝑔 ) = ( 𝑠 ) ↔ 𝑔 = ) )
98 91 94 96 97 syl3anc ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → ( ( 𝑠𝑔 ) = ( 𝑠 ) ↔ 𝑔 = ) )
99 89 98 bitrd ( ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) ∧ ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) ) → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) = ( ( 𝑠 ) ∘ 𝑠 ) ↔ 𝑔 = ) )
100 99 ex ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) → ( ( ( 𝑔 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑔𝑦 ) ≠ 𝑦 ) ∧ ( : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑦 ) ≠ 𝑦 ) ) → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) = ( ( 𝑠 ) ∘ 𝑠 ) ↔ 𝑔 = ) ) )
101 75 100 biimtrid ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) → ( ( 𝑔 ∈ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∧ ∈ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) → ( ( ( 𝑠𝑔 ) ∘ 𝑠 ) = ( ( 𝑠 ) ∘ 𝑠 ) ↔ 𝑔 = ) ) )
102 67 101 dom2d ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝑠 : 𝐴1-1-onto𝐵 ) → ( { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∈ Fin → { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ≼ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
103 102 ex ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( 𝑠 : 𝐴1-1-onto𝐵 → ( { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∈ Fin → { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ≼ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) ) )
104 103 exlimdv ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( ∃ 𝑠 𝑠 : 𝐴1-1-onto𝐵 → ( { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∈ Fin → { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ≼ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) ) )
105 3 5 104 mp2d ( ( 𝐴𝐵𝐵 ∈ Fin ) → { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ≼ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } )
106 enfii ( ( 𝐵 ∈ Fin ∧ 𝐴𝐵 ) → 𝐴 ∈ Fin )
107 106 ancoms ( ( 𝐴𝐵𝐵 ∈ Fin ) → 𝐴 ∈ Fin )
108 deranglem ( 𝐴 ∈ Fin → { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∈ Fin )
109 107 108 syl ( ( 𝐴𝐵𝐵 ∈ Fin ) → { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∈ Fin )
110 hashdom ( ( { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∈ Fin ∧ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ∈ Fin ) → ( ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) ≤ ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) ↔ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ≼ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
111 109 5 110 syl2anc ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) ≤ ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) ↔ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ≼ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
112 105 111 mpbird ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) ≤ ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
113 1 derangval ( 𝐴 ∈ Fin → ( 𝐷𝐴 ) = ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
114 107 113 syl ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( 𝐷𝐴 ) = ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐴1-1-onto𝐴 ∧ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
115 1 derangval ( 𝐵 ∈ Fin → ( 𝐷𝐵 ) = ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
116 115 adantl ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( 𝐷𝐵 ) = ( ♯ ‘ { 𝑓 ∣ ( 𝑓 : 𝐵1-1-onto𝐵 ∧ ∀ 𝑦𝐵 ( 𝑓𝑦 ) ≠ 𝑦 ) } ) )
117 112 114 116 3brtr4d ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( 𝐷𝐴 ) ≤ ( 𝐷𝐵 ) )