Metamath Proof Explorer


Theorem fconst5

Description: Two ways to express that a function is constant. (Contributed by NM, 27-Nov-2007)

Ref Expression
Assertion fconst5 ⊢ F Fn A ∧ A ≠ ∅ → F = A × B ↔ ran ⁡ F = B

Proof

Step Hyp Ref Expression
1 rneq ⊢ F = A × B → ran ⁡ F = ran ⁡ A × B
2 rnxp ⊢ A ≠ ∅ → ran ⁡ A × B = B
3 2 eqeq2d ⊢ A ≠ ∅ → ran ⁡ F = ran ⁡ A × B ↔ ran ⁡ F = B
4 1 3 imbitrid ⊢ A ≠ ∅ → F = A × B → ran ⁡ F = B
5 4 adantl ⊢ F Fn A ∧ A ≠ ∅ → F = A × B → ran ⁡ F = B
6 df-fo ⊢ F : A ⟶ onto B ↔ F Fn A ∧ ran ⁡ F = B
7 fof ⊢ F : A ⟶ onto B → F : A ⟶ B
8 6 7 sylbir ⊢ F Fn A ∧ ran ⁡ F = B → F : A ⟶ B
9 fconst2g ⊢ B ∈ V → F : A ⟶ B ↔ F = A × B
10 8 9 imbitrid ⊢ B ∈ V → F Fn A ∧ ran ⁡ F = B → F = A × B
11 10 expd ⊢ B ∈ V → F Fn A → ran ⁡ F = B → F = A × B
12 11 adantrd ⊢ B ∈ V → F Fn A ∧ A ≠ ∅ → ran ⁡ F = B → F = A × B
13 fnrel ⊢ F Fn A → Rel ⁡ F
14 snprc ⊢ ¬ B ∈ V ↔ B = ∅
15 relrn0 ⊢ Rel ⁡ F → F = ∅ ↔ ran ⁡ F = ∅
16 15 biimprd ⊢ Rel ⁡ F → ran ⁡ F = ∅ → F = ∅
17 16 adantl ⊢ B = ∅ ∧ Rel ⁡ F → ran ⁡ F = ∅ → F = ∅
18 eqeq2 ⊢ B = ∅ → ran ⁡ F = B ↔ ran ⁡ F = ∅
19 18 adantr ⊢ B = ∅ ∧ Rel ⁡ F → ran ⁡ F = B ↔ ran ⁡ F = ∅
20 xpeq2 ⊢ B = ∅ → A × B = A × ∅
21 xp0 ⊢ A × ∅ = ∅
22 20 21 eqtrdi ⊢ B = ∅ → A × B = ∅
23 22 eqeq2d ⊢ B = ∅ → F = A × B ↔ F = ∅
24 23 adantr ⊢ B = ∅ ∧ Rel ⁡ F → F = A × B ↔ F = ∅
25 17 19 24 3imtr4d ⊢ B = ∅ ∧ Rel ⁡ F → ran ⁡ F = B → F = A × B
26 25 ex ⊢ B = ∅ → Rel ⁡ F → ran ⁡ F = B → F = A × B
27 14 26 sylbi ⊢ ¬ B ∈ V → Rel ⁡ F → ran ⁡ F = B → F = A × B
28 13 27 syl5 ⊢ ¬ B ∈ V → F Fn A → ran ⁡ F = B → F = A × B
29 28 adantrd ⊢ ¬ B ∈ V → F Fn A ∧ A ≠ ∅ → ran ⁡ F = B → F = A × B
30 12 29 pm2.61i ⊢ F Fn A ∧ A ≠ ∅ → ran ⁡ F = B → F = A × B
31 5 30 impbid ⊢ F Fn A ∧ A ≠ ∅ → F = A × B ↔ ran ⁡ F = B