Metamath Proof Explorer


Theorem tposideq

Description: Two ways of expressing the swap function. (Contributed by Zhi Wang, 6-Oct-2025)

Ref Expression
Assertion tposideq ( Rel 𝑅 → ( tpos I ↾ 𝑅 ) = ( 𝑥𝑅 { 𝑥 } ) )

Proof

Step Hyp Ref Expression
1 tposres ( Rel 𝑅 → ( tpos I ↾ 𝑅 ) = tpos ( I ↾ 𝑅 ) )
2 relcnv Rel 𝑅
3 fnresi ( I ↾ 𝑅 ) Fn 𝑅
4 tposfn2 ( Rel 𝑅 → ( ( I ↾ 𝑅 ) Fn 𝑅 → tpos ( I ↾ 𝑅 ) Fn 𝑅 ) )
5 2 3 4 mp2 tpos ( I ↾ 𝑅 ) Fn 𝑅
6 dfrel2 ( Rel 𝑅 𝑅 = 𝑅 )
7 6 biimpi ( Rel 𝑅 𝑅 = 𝑅 )
8 7 fneq2d ( Rel 𝑅 → ( tpos ( I ↾ 𝑅 ) Fn 𝑅 ↔ tpos ( I ↾ 𝑅 ) Fn 𝑅 ) )
9 5 8 mpbii ( Rel 𝑅 → tpos ( I ↾ 𝑅 ) Fn 𝑅 )
10 vsnex { 𝑥 } ∈ V
11 10 cnvex { 𝑥 } ∈ V
12 11 uniex { 𝑥 } ∈ V
13 eqid ( 𝑥𝑅 { 𝑥 } ) = ( 𝑥𝑅 { 𝑥 } )
14 12 13 fnmpti ( 𝑥𝑅 { 𝑥 } ) Fn 𝑅
15 14 a1i ( Rel 𝑅 → ( 𝑥𝑅 { 𝑥 } ) Fn 𝑅 )
16 1st2nd ( ( Rel 𝑅𝑦𝑅 ) → 𝑦 = ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ )
17 1st2ndb ( 𝑦 ∈ ( V × V ) ↔ 𝑦 = ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ )
18 17 biimpri ( 𝑦 = ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ → 𝑦 ∈ ( V × V ) )
19 2nd1st ( 𝑦 ∈ ( V × V ) → { 𝑦 } = ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ )
20 16 18 19 3syl ( ( Rel 𝑅𝑦𝑅 ) → { 𝑦 } = ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ )
21 sneq ( 𝑥 = 𝑦 → { 𝑥 } = { 𝑦 } )
22 21 cnveqd ( 𝑥 = 𝑦 { 𝑥 } = { 𝑦 } )
23 22 unieqd ( 𝑥 = 𝑦 { 𝑥 } = { 𝑦 } )
24 23 13 12 fvmpt3i ( 𝑦𝑅 → ( ( 𝑥𝑅 { 𝑥 } ) ‘ 𝑦 ) = { 𝑦 } )
25 24 adantl ( ( Rel 𝑅𝑦𝑅 ) → ( ( 𝑥𝑅 { 𝑥 } ) ‘ 𝑦 ) = { 𝑦 } )
26 16 fveq2d ( ( Rel 𝑅𝑦𝑅 ) → ( tpos ( I ↾ 𝑅 ) ‘ 𝑦 ) = ( tpos ( I ↾ 𝑅 ) ‘ ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ ) )
27 ovtpos ( ( 1st𝑦 ) tpos ( I ↾ 𝑅 ) ( 2nd𝑦 ) ) = ( ( 2nd𝑦 ) ( I ↾ 𝑅 ) ( 1st𝑦 ) )
28 df-ov ( ( 1st𝑦 ) tpos ( I ↾ 𝑅 ) ( 2nd𝑦 ) ) = ( tpos ( I ↾ 𝑅 ) ‘ ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ )
29 df-ov ( ( 2nd𝑦 ) ( I ↾ 𝑅 ) ( 1st𝑦 ) ) = ( ( I ↾ 𝑅 ) ‘ ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ )
30 27 28 29 3eqtr3i ( tpos ( I ↾ 𝑅 ) ‘ ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ ) = ( ( I ↾ 𝑅 ) ‘ ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ )
31 30 a1i ( ( Rel 𝑅𝑦𝑅 ) → ( tpos ( I ↾ 𝑅 ) ‘ ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ ) = ( ( I ↾ 𝑅 ) ‘ ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ ) )
32 simpr ( ( Rel 𝑅𝑦𝑅 ) → 𝑦𝑅 )
33 16 32 eqeltrrd ( ( Rel 𝑅𝑦𝑅 ) → ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ ∈ 𝑅 )
34 fvex ( 2nd𝑦 ) ∈ V
35 fvex ( 1st𝑦 ) ∈ V
36 34 35 opelcnv ( ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ ∈ 𝑅 ↔ ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ ∈ 𝑅 )
37 36 biimpri ( ⟨ ( 1st𝑦 ) , ( 2nd𝑦 ) ⟩ ∈ 𝑅 → ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ ∈ 𝑅 )
38 fvresi ( ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ ∈ 𝑅 → ( ( I ↾ 𝑅 ) ‘ ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ ) = ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ )
39 33 37 38 3syl ( ( Rel 𝑅𝑦𝑅 ) → ( ( I ↾ 𝑅 ) ‘ ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ ) = ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ )
40 26 31 39 3eqtrd ( ( Rel 𝑅𝑦𝑅 ) → ( tpos ( I ↾ 𝑅 ) ‘ 𝑦 ) = ⟨ ( 2nd𝑦 ) , ( 1st𝑦 ) ⟩ )
41 20 25 40 3eqtr4rd ( ( Rel 𝑅𝑦𝑅 ) → ( tpos ( I ↾ 𝑅 ) ‘ 𝑦 ) = ( ( 𝑥𝑅 { 𝑥 } ) ‘ 𝑦 ) )
42 9 15 41 eqfnfvd ( Rel 𝑅 → tpos ( I ↾ 𝑅 ) = ( 𝑥𝑅 { 𝑥 } ) )
43 1 42 eqtrd ( Rel 𝑅 → ( tpos I ↾ 𝑅 ) = ( 𝑥𝑅 { 𝑥 } ) )