Metamath Proof Explorer


Theorem fnsnbt

Description: A function's domain is a singleton iff the function is a singleton. (Contributed by Steven Nguyen, 18-Aug-2023)

Ref Expression
Assertion fnsnbt ( 𝐴 ∈ V → ( 𝐹 Fn { 𝐴 } ↔ 𝐹 = { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } ) )

Proof

Step Hyp Ref Expression
1 fnsnr ( 𝐹 Fn { 𝐴 } → ( 𝑥𝐹𝑥 = ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ ) )
2 1 adantl ( ( 𝐴 ∈ V ∧ 𝐹 Fn { 𝐴 } ) → ( 𝑥𝐹𝑥 = ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ ) )
3 fnfun ( 𝐹 Fn { 𝐴 } → Fun 𝐹 )
4 snidg ( 𝐴 ∈ V → 𝐴 ∈ { 𝐴 } )
5 4 adantr ( ( 𝐴 ∈ V ∧ 𝐹 Fn { 𝐴 } ) → 𝐴 ∈ { 𝐴 } )
6 fndm ( 𝐹 Fn { 𝐴 } → dom 𝐹 = { 𝐴 } )
7 6 adantl ( ( 𝐴 ∈ V ∧ 𝐹 Fn { 𝐴 } ) → dom 𝐹 = { 𝐴 } )
8 5 7 eleqtrrd ( ( 𝐴 ∈ V ∧ 𝐹 Fn { 𝐴 } ) → 𝐴 ∈ dom 𝐹 )
9 funfvop ( ( Fun 𝐹𝐴 ∈ dom 𝐹 ) → ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ ∈ 𝐹 )
10 3 8 9 syl2an2 ( ( 𝐴 ∈ V ∧ 𝐹 Fn { 𝐴 } ) → ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ ∈ 𝐹 )
11 eleq1 ( 𝑥 = ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ → ( 𝑥𝐹 ↔ ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ ∈ 𝐹 ) )
12 10 11 syl5ibrcom ( ( 𝐴 ∈ V ∧ 𝐹 Fn { 𝐴 } ) → ( 𝑥 = ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ → 𝑥𝐹 ) )
13 2 12 impbid ( ( 𝐴 ∈ V ∧ 𝐹 Fn { 𝐴 } ) → ( 𝑥𝐹𝑥 = ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ ) )
14 velsn ( 𝑥 ∈ { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } ↔ 𝑥 = ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ )
15 13 14 bitr4di ( ( 𝐴 ∈ V ∧ 𝐹 Fn { 𝐴 } ) → ( 𝑥𝐹𝑥 ∈ { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } ) )
16 15 eqrdv ( ( 𝐴 ∈ V ∧ 𝐹 Fn { 𝐴 } ) → 𝐹 = { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } )
17 16 ex ( 𝐴 ∈ V → ( 𝐹 Fn { 𝐴 } → 𝐹 = { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } ) )
18 fvex ( 𝐹𝐴 ) ∈ V
19 fnsng ( ( 𝐴 ∈ V ∧ ( 𝐹𝐴 ) ∈ V ) → { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } Fn { 𝐴 } )
20 18 19 mpan2 ( 𝐴 ∈ V → { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } Fn { 𝐴 } )
21 fneq1 ( 𝐹 = { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } → ( 𝐹 Fn { 𝐴 } ↔ { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } Fn { 𝐴 } ) )
22 20 21 syl5ibrcom ( 𝐴 ∈ V → ( 𝐹 = { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } → 𝐹 Fn { 𝐴 } ) )
23 17 22 impbid ( 𝐴 ∈ V → ( 𝐹 Fn { 𝐴 } ↔ 𝐹 = { ⟨ 𝐴 , ( 𝐹𝐴 ) ⟩ } ) )