Metamath Proof Explorer


Theorem fnprb

Description: A function whose domain has at most two elements can be represented as a set of at most two ordered pairs. (Contributed by FL, 26-Jun-2011) (Proof shortened by Scott Fenton, 12-Oct-2017) Eliminate unnecessary antecedent A =/= B . (Revised by NM, 29-Dec-2018)

Ref Expression
Hypotheses fnprb.a ⊢ A ∈ V
fnprb.b ⊢ B ∈ V
Assertion fnprb ⊢ F Fn A B ↔ F = A F ⁡ A B F ⁡ B

Proof

Step Hyp Ref Expression
1 fnprb.a ⊢ A ∈ V
2 fnprb.b ⊢ B ∈ V
3 1 fnsnb ⊢ F Fn A ↔ F = A F ⁡ A
4 dfsn2 ⊢ A = A A
5 4 fneq2i ⊢ F Fn A ↔ F Fn A A
6 dfsn2 ⊢ A F ⁡ A = A F ⁡ A A F ⁡ A
7 6 eqeq2i ⊢ F = A F ⁡ A ↔ F = A F ⁡ A A F ⁡ A
8 3 5 7 3bitr3i ⊢ F Fn A A ↔ F = A F ⁡ A A F ⁡ A
9 8 a1i ⊢ A = B → F Fn A A ↔ F = A F ⁡ A A F ⁡ A
10 preq2 ⊢ A = B → A A = A B
11 10 fneq2d ⊢ A = B → F Fn A A ↔ F Fn A B
12 id ⊢ A = B → A = B
13 fveq2 ⊢ A = B → F ⁡ A = F ⁡ B
14 12 13 opeq12d ⊢ A = B → A F ⁡ A = B F ⁡ B
15 14 preq2d ⊢ A = B → A F ⁡ A A F ⁡ A = A F ⁡ A B F ⁡ B
16 15 eqeq2d ⊢ A = B → F = A F ⁡ A A F ⁡ A ↔ F = A F ⁡ A B F ⁡ B
17 9 11 16 3bitr3d ⊢ A = B → F Fn A B ↔ F = A F ⁡ A B F ⁡ B
18 fndm ⊢ F Fn A B → dom ⁡ F = A B
19 fvex ⊢ F ⁡ A ∈ V
20 fvex ⊢ F ⁡ B ∈ V
21 19 20 dmprop ⊢ dom ⁡ A F ⁡ A B F ⁡ B = A B
22 18 21 eqtr4di ⊢ F Fn A B → dom ⁡ F = dom ⁡ A F ⁡ A B F ⁡ B
23 22 adantl ⊢ A ≠ B ∧ F Fn A B → dom ⁡ F = dom ⁡ A F ⁡ A B F ⁡ B
24 18 adantl ⊢ A ≠ B ∧ F Fn A B → dom ⁡ F = A B
25 24 eleq2d ⊢ A ≠ B ∧ F Fn A B → x ∈ dom ⁡ F ↔ x ∈ A B
26 vex ⊢ x ∈ V
27 26 elpr ⊢ x ∈ A B ↔ x = A ∨ x = B
28 1 19 fvpr1 ⊢ A ≠ B → A F ⁡ A B F ⁡ B ⁡ A = F ⁡ A
29 28 adantr ⊢ A ≠ B ∧ F Fn A B → A F ⁡ A B F ⁡ B ⁡ A = F ⁡ A
30 29 eqcomd ⊢ A ≠ B ∧ F Fn A B → F ⁡ A = A F ⁡ A B F ⁡ B ⁡ A
31 fveq2 ⊢ x = A → F ⁡ x = F ⁡ A
32 fveq2 ⊢ x = A → A F ⁡ A B F ⁡ B ⁡ x = A F ⁡ A B F ⁡ B ⁡ A
33 31 32 eqeq12d ⊢ x = A → F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x ↔ F ⁡ A = A F ⁡ A B F ⁡ B ⁡ A
34 30 33 syl5ibrcom ⊢ A ≠ B ∧ F Fn A B → x = A → F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x
35 2 20 fvpr2 ⊢ A ≠ B → A F ⁡ A B F ⁡ B ⁡ B = F ⁡ B
36 35 adantr ⊢ A ≠ B ∧ F Fn A B → A F ⁡ A B F ⁡ B ⁡ B = F ⁡ B
37 36 eqcomd ⊢ A ≠ B ∧ F Fn A B → F ⁡ B = A F ⁡ A B F ⁡ B ⁡ B
38 fveq2 ⊢ x = B → F ⁡ x = F ⁡ B
39 fveq2 ⊢ x = B → A F ⁡ A B F ⁡ B ⁡ x = A F ⁡ A B F ⁡ B ⁡ B
40 38 39 eqeq12d ⊢ x = B → F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x ↔ F ⁡ B = A F ⁡ A B F ⁡ B ⁡ B
41 37 40 syl5ibrcom ⊢ A ≠ B ∧ F Fn A B → x = B → F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x
42 34 41 jaod ⊢ A ≠ B ∧ F Fn A B → x = A ∨ x = B → F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x
43 27 42 biimtrid ⊢ A ≠ B ∧ F Fn A B → x ∈ A B → F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x
44 25 43 sylbid ⊢ A ≠ B ∧ F Fn A B → x ∈ dom ⁡ F → F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x
45 44 ralrimiv ⊢ A ≠ B ∧ F Fn A B → ∀ x ∈ dom ⁡ F F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x
46 fnfun ⊢ F Fn A B → Fun ⁡ F
47 1 2 19 20 funpr ⊢ A ≠ B → Fun ⁡ A F ⁡ A B F ⁡ B
48 eqfunfv ⊢ Fun ⁡ F ∧ Fun ⁡ A F ⁡ A B F ⁡ B → F = A F ⁡ A B F ⁡ B ↔ dom ⁡ F = dom ⁡ A F ⁡ A B F ⁡ B ∧ ∀ x ∈ dom ⁡ F F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x
49 46 47 48 syl2anr ⊢ A ≠ B ∧ F Fn A B → F = A F ⁡ A B F ⁡ B ↔ dom ⁡ F = dom ⁡ A F ⁡ A B F ⁡ B ∧ ∀ x ∈ dom ⁡ F F ⁡ x = A F ⁡ A B F ⁡ B ⁡ x
50 23 45 49 mpbir2and ⊢ A ≠ B ∧ F Fn A B → F = A F ⁡ A B F ⁡ B
51 df-fn ⊢ A F ⁡ A B F ⁡ B Fn A B ↔ Fun ⁡ A F ⁡ A B F ⁡ B ∧ dom ⁡ A F ⁡ A B F ⁡ B = A B
52 47 21 51 sylanblrc ⊢ A ≠ B → A F ⁡ A B F ⁡ B Fn A B
53 fneq1 ⊢ F = A F ⁡ A B F ⁡ B → F Fn A B ↔ A F ⁡ A B F ⁡ B Fn A B
54 53 biimprd ⊢ F = A F ⁡ A B F ⁡ B → A F ⁡ A B F ⁡ B Fn A B → F Fn A B
55 52 54 mpan9 ⊢ A ≠ B ∧ F = A F ⁡ A B F ⁡ B → F Fn A B
56 50 55 impbida ⊢ A ≠ B → F Fn A B ↔ F = A F ⁡ A B F ⁡ B
57 17 56 pm2.61ine ⊢ F Fn A B ↔ F = A F ⁡ A B F ⁡ B