Metamath Proof Explorer


Theorem fodomacn

Description: A version of fodom that doesn't require the Axiom of Choice ax-ac . If A has choice sequences of length B , then any surjection from A to B can be inverted to an injection the other way. (Contributed by Mario Carneiro, 31-Aug-2015)

Ref Expression
Assertion fodomacn AAC_BF:AontoBBA

Proof

Step Hyp Ref Expression
1 foelrn F:AontoBxByAx=Fy
2 1 ralrimiva F:AontoBxByAx=Fy
3 fveq2 y=fxFy=Ffx
4 3 eqeq2d y=fxx=Fyx=Ffx
5 4 acni3 AAC_BxByAx=Fyff:BAxBx=Ffx
6 2 5 sylan2 AAC_BF:AontoBff:BAxBx=Ffx
7 simpll AAC_BF:AontoBf:BAxBx=FfxAAC_B
8 acnrcl AAC_BBV
9 7 8 syl AAC_BF:AontoBf:BAxBx=FfxBV
10 simprl AAC_BF:AontoBf:BAxBx=Ffxf:BA
11 fveq2 fy=fzFfy=Ffz
12 simprr AAC_BF:AontoBf:BAxBx=FfxxBx=Ffx
13 id x=yx=y
14 2fveq3 x=yFfx=Ffy
15 13 14 eqeq12d x=yx=Ffxy=Ffy
16 15 rspccva xBx=FfxyBy=Ffy
17 id x=zx=z
18 2fveq3 x=zFfx=Ffz
19 17 18 eqeq12d x=zx=Ffxz=Ffz
20 19 rspccva xBx=FfxzBz=Ffz
21 16 20 eqeqan12d xBx=FfxyBxBx=FfxzBy=zFfy=Ffz
22 21 anandis xBx=FfxyBzBy=zFfy=Ffz
23 12 22 sylan AAC_BF:AontoBf:BAxBx=FfxyBzBy=zFfy=Ffz
24 11 23 imbitrrid AAC_BF:AontoBf:BAxBx=FfxyBzBfy=fzy=z
25 24 ralrimivva AAC_BF:AontoBf:BAxBx=FfxyBzBfy=fzy=z
26 dff13 f:B1-1Af:BAyBzBfy=fzy=z
27 10 25 26 sylanbrc AAC_BF:AontoBf:BAxBx=Ffxf:B1-1A
28 f1dom2g BVAAC_Bf:B1-1ABA
29 9 7 27 28 syl3anc AAC_BF:AontoBf:BAxBx=FfxBA
30 6 29 exlimddv AAC_BF:AontoBBA
31 30 ex AAC_BF:AontoBBA