Metamath Proof Explorer


Theorem intopsn

Description: The internal operation for a set is the trivial operation iff the set is a singleton. Formerly part of proof of ring1zr . (Contributed by FL, 13-Feb-2010) (Revised by AV, 23-Jan-2020)

Ref Expression
Assertion intopsn ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( 𝐵 = { 𝑍 } ↔ = { ⟨ ⟨ 𝑍 , 𝑍 ⟩ , 𝑍 ⟩ } ) )

Proof

Step Hyp Ref Expression
1 simpl ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → : ( 𝐵 × 𝐵 ) ⟶ 𝐵 )
2 id ( 𝐵 = { 𝑍 } → 𝐵 = { 𝑍 } )
3 2 sqxpeqd ( 𝐵 = { 𝑍 } → ( 𝐵 × 𝐵 ) = ( { 𝑍 } × { 𝑍 } ) )
4 3 2 feq23d ( 𝐵 = { 𝑍 } → ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵 : ( { 𝑍 } × { 𝑍 } ) ⟶ { 𝑍 } ) )
5 1 4 syl5ibcom ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( 𝐵 = { 𝑍 } → : ( { 𝑍 } × { 𝑍 } ) ⟶ { 𝑍 } ) )
6 fdm ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵 → dom = ( 𝐵 × 𝐵 ) )
7 6 eqcomd ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵 → ( 𝐵 × 𝐵 ) = dom )
8 7 adantr ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( 𝐵 × 𝐵 ) = dom )
9 fdm ( : ( { 𝑍 } × { 𝑍 } ) ⟶ { 𝑍 } → dom = ( { 𝑍 } × { 𝑍 } ) )
10 9 eqeq2d ( : ( { 𝑍 } × { 𝑍 } ) ⟶ { 𝑍 } → ( ( 𝐵 × 𝐵 ) = dom ↔ ( 𝐵 × 𝐵 ) = ( { 𝑍 } × { 𝑍 } ) ) )
11 8 10 syl5ibcom ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( : ( { 𝑍 } × { 𝑍 } ) ⟶ { 𝑍 } → ( 𝐵 × 𝐵 ) = ( { 𝑍 } × { 𝑍 } ) ) )
12 xpid11 ( ( 𝐵 × 𝐵 ) = ( { 𝑍 } × { 𝑍 } ) ↔ 𝐵 = { 𝑍 } )
13 11 12 syl6ib ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( : ( { 𝑍 } × { 𝑍 } ) ⟶ { 𝑍 } → 𝐵 = { 𝑍 } ) )
14 5 13 impbid ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( 𝐵 = { 𝑍 } ↔ : ( { 𝑍 } × { 𝑍 } ) ⟶ { 𝑍 } ) )
15 simpr ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → 𝑍𝐵 )
16 xpsng ( ( 𝑍𝐵𝑍𝐵 ) → ( { 𝑍 } × { 𝑍 } ) = { ⟨ 𝑍 , 𝑍 ⟩ } )
17 15 16 sylancom ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( { 𝑍 } × { 𝑍 } ) = { ⟨ 𝑍 , 𝑍 ⟩ } )
18 17 feq2d ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( : ( { 𝑍 } × { 𝑍 } ) ⟶ { 𝑍 } ↔ : { ⟨ 𝑍 , 𝑍 ⟩ } ⟶ { 𝑍 } ) )
19 opex 𝑍 , 𝑍 ⟩ ∈ V
20 fsng ( ( ⟨ 𝑍 , 𝑍 ⟩ ∈ V ∧ 𝑍𝐵 ) → ( : { ⟨ 𝑍 , 𝑍 ⟩ } ⟶ { 𝑍 } ↔ = { ⟨ ⟨ 𝑍 , 𝑍 ⟩ , 𝑍 ⟩ } ) )
21 19 20 mpan ( 𝑍𝐵 → ( : { ⟨ 𝑍 , 𝑍 ⟩ } ⟶ { 𝑍 } ↔ = { ⟨ ⟨ 𝑍 , 𝑍 ⟩ , 𝑍 ⟩ } ) )
22 21 adantl ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( : { ⟨ 𝑍 , 𝑍 ⟩ } ⟶ { 𝑍 } ↔ = { ⟨ ⟨ 𝑍 , 𝑍 ⟩ , 𝑍 ⟩ } ) )
23 14 18 22 3bitrd ( ( : ( 𝐵 × 𝐵 ) ⟶ 𝐵𝑍𝐵 ) → ( 𝐵 = { 𝑍 } ↔ = { ⟨ ⟨ 𝑍 , 𝑍 ⟩ , 𝑍 ⟩ } ) )