Metamath Proof Explorer


Theorem eloppf

Description: The pre-image of a non-empty opposite functor is non-empty; and the second component of the pre-image is a relation on triples. (Contributed by Zhi Wang, 18-Nov-2025)

Ref Expression
Hypotheses eloppf.g 𝐺 = ( oppFunc ‘ 𝐹 )
eloppf.x ( 𝜑𝑋𝐺 )
Assertion eloppf ( 𝜑 → ( 𝐹 ≠ ∅ ∧ ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) ) )

Proof

Step Hyp Ref Expression
1 eloppf.g 𝐺 = ( oppFunc ‘ 𝐹 )
2 eloppf.x ( 𝜑𝑋𝐺 )
3 2 1 eleqtrdi ( 𝜑𝑋 ∈ ( oppFunc ‘ 𝐹 ) )
4 elfvdm ( 𝑋 ∈ ( oppFunc ‘ 𝐹 ) → 𝐹 ∈ dom oppFunc )
5 oppffn oppFunc Fn ( V × V )
6 5 fndmi dom oppFunc = ( V × V )
7 4 6 eleqtrdi ( 𝑋 ∈ ( oppFunc ‘ 𝐹 ) → 𝐹 ∈ ( V × V ) )
8 3 7 syl ( 𝜑𝐹 ∈ ( V × V ) )
9 0nelxp ¬ ∅ ∈ ( V × V )
10 nelne2 ( ( 𝐹 ∈ ( V × V ) ∧ ¬ ∅ ∈ ( V × V ) ) → 𝐹 ≠ ∅ )
11 8 9 10 sylancl ( 𝜑𝐹 ≠ ∅ )
12 1st2nd2 ( 𝐹 ∈ ( V × V ) → 𝐹 = ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
13 3 7 12 3syl ( 𝜑𝐹 = ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
14 13 fveq2d ( 𝜑 → ( oppFunc ‘ 𝐹 ) = ( oppFunc ‘ ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ ) )
15 df-ov ( ( 1st𝐹 ) oppFunc ( 2nd𝐹 ) ) = ( oppFunc ‘ ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
16 fvex ( 1st𝐹 ) ∈ V
17 fvex ( 2nd𝐹 ) ∈ V
18 oppfvalg ( ( ( 1st𝐹 ) ∈ V ∧ ( 2nd𝐹 ) ∈ V ) → ( ( 1st𝐹 ) oppFunc ( 2nd𝐹 ) ) = if ( ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) , ⟨ ( 1st𝐹 ) , tpos ( 2nd𝐹 ) ⟩ , ∅ ) )
19 16 17 18 mp2an ( ( 1st𝐹 ) oppFunc ( 2nd𝐹 ) ) = if ( ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) , ⟨ ( 1st𝐹 ) , tpos ( 2nd𝐹 ) ⟩ , ∅ )
20 15 19 eqtr3i ( oppFunc ‘ ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ ) = if ( ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) , ⟨ ( 1st𝐹 ) , tpos ( 2nd𝐹 ) ⟩ , ∅ )
21 14 20 eqtrdi ( 𝜑 → ( oppFunc ‘ 𝐹 ) = if ( ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) , ⟨ ( 1st𝐹 ) , tpos ( 2nd𝐹 ) ⟩ , ∅ ) )
22 3 21 eleqtrd ( 𝜑𝑋 ∈ if ( ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) , ⟨ ( 1st𝐹 ) , tpos ( 2nd𝐹 ) ⟩ , ∅ ) )
23 22 ne0d ( 𝜑 → if ( ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) , ⟨ ( 1st𝐹 ) , tpos ( 2nd𝐹 ) ⟩ , ∅ ) ≠ ∅ )
24 iffalse ( ¬ ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) → if ( ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) , ⟨ ( 1st𝐹 ) , tpos ( 2nd𝐹 ) ⟩ , ∅ ) = ∅ )
25 24 necon1ai ( if ( ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) , ⟨ ( 1st𝐹 ) , tpos ( 2nd𝐹 ) ⟩ , ∅ ) ≠ ∅ → ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) )
26 23 25 syl ( 𝜑 → ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) )
27 11 26 jca ( 𝜑 → ( 𝐹 ≠ ∅ ∧ ( Rel ( 2nd𝐹 ) ∧ Rel dom ( 2nd𝐹 ) ) ) )