Metamath Proof Explorer


Theorem f1o2d2

Description: Sufficient condition for a binary function expressed in maps-to notation to be bijective. (Contributed by SN, 11-Mar-2025)

Ref Expression
Hypotheses f1o2d2.f 𝐹 = ( 𝑥𝐴 , 𝑦𝐵𝐶 )
f1o2d2.r ( ( 𝜑 ∧ ( 𝑥𝐴𝑦𝐵 ) ) → 𝐶𝐷 )
f1o2d2.i ( ( 𝜑𝑧𝐷 ) → 𝐼𝐴 )
f1o2d2.j ( ( 𝜑𝑧𝐷 ) → 𝐽𝐵 )
f1o2d2.1 ( ( 𝜑 ∧ ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑧𝐷 ) ) → ( ( 𝑥 = 𝐼𝑦 = 𝐽 ) ↔ 𝑧 = 𝐶 ) )
Assertion f1o2d2 ( 𝜑𝐹 : ( 𝐴 × 𝐵 ) –1-1-onto𝐷 )

Proof

Step Hyp Ref Expression
1 f1o2d2.f 𝐹 = ( 𝑥𝐴 , 𝑦𝐵𝐶 )
2 f1o2d2.r ( ( 𝜑 ∧ ( 𝑥𝐴𝑦𝐵 ) ) → 𝐶𝐷 )
3 f1o2d2.i ( ( 𝜑𝑧𝐷 ) → 𝐼𝐴 )
4 f1o2d2.j ( ( 𝜑𝑧𝐷 ) → 𝐽𝐵 )
5 f1o2d2.1 ( ( 𝜑 ∧ ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑧𝐷 ) ) → ( ( 𝑥 = 𝐼𝑦 = 𝐽 ) ↔ 𝑧 = 𝐶 ) )
6 mpompts ( 𝑥𝐴 , 𝑦𝐵𝐶 ) = ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ↦ ( 1st𝑤 ) / 𝑥 ( 2nd𝑤 ) / 𝑦 𝐶 )
7 1 6 eqtri 𝐹 = ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ↦ ( 1st𝑤 ) / 𝑥 ( 2nd𝑤 ) / 𝑦 𝐶 )
8 xp1st ( 𝑤 ∈ ( 𝐴 × 𝐵 ) → ( 1st𝑤 ) ∈ 𝐴 )
9 xp2nd ( 𝑤 ∈ ( 𝐴 × 𝐵 ) → ( 2nd𝑤 ) ∈ 𝐵 )
10 2 anassrs ( ( ( 𝜑𝑥𝐴 ) ∧ 𝑦𝐵 ) → 𝐶𝐷 )
11 10 ralrimiva ( ( 𝜑𝑥𝐴 ) → ∀ 𝑦𝐵 𝐶𝐷 )
12 rspcsbela ( ( ( 2nd𝑤 ) ∈ 𝐵 ∧ ∀ 𝑦𝐵 𝐶𝐷 ) → ( 2nd𝑤 ) / 𝑦 𝐶𝐷 )
13 9 11 12 syl2anr ( ( ( 𝜑𝑥𝐴 ) ∧ 𝑤 ∈ ( 𝐴 × 𝐵 ) ) → ( 2nd𝑤 ) / 𝑦 𝐶𝐷 )
14 13 an32s ( ( ( 𝜑𝑤 ∈ ( 𝐴 × 𝐵 ) ) ∧ 𝑥𝐴 ) → ( 2nd𝑤 ) / 𝑦 𝐶𝐷 )
15 14 ralrimiva ( ( 𝜑𝑤 ∈ ( 𝐴 × 𝐵 ) ) → ∀ 𝑥𝐴 ( 2nd𝑤 ) / 𝑦 𝐶𝐷 )
16 rspcsbela ( ( ( 1st𝑤 ) ∈ 𝐴 ∧ ∀ 𝑥𝐴 ( 2nd𝑤 ) / 𝑦 𝐶𝐷 ) → ( 1st𝑤 ) / 𝑥 ( 2nd𝑤 ) / 𝑦 𝐶𝐷 )
17 8 15 16 syl2an2 ( ( 𝜑𝑤 ∈ ( 𝐴 × 𝐵 ) ) → ( 1st𝑤 ) / 𝑥 ( 2nd𝑤 ) / 𝑦 𝐶𝐷 )
18 3 4 opelxpd ( ( 𝜑𝑧𝐷 ) → ⟨ 𝐼 , 𝐽 ⟩ ∈ ( 𝐴 × 𝐵 ) )
19 9 ad2antrl ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) → ( 2nd𝑤 ) ∈ 𝐵 )
20 sbceq2g ( ( 2nd𝑤 ) ∈ 𝐵 → ( [ ( 2nd𝑤 ) / 𝑦 ] 𝑧 = 𝐶𝑧 = ( 2nd𝑤 ) / 𝑦 𝐶 ) )
21 19 20 syl ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) → ( [ ( 2nd𝑤 ) / 𝑦 ] 𝑧 = 𝐶𝑧 = ( 2nd𝑤 ) / 𝑦 𝐶 ) )
22 21 sbcbidv ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) → ( [ ( 1st𝑤 ) / 𝑥 ] [ ( 2nd𝑤 ) / 𝑦 ] 𝑧 = 𝐶[ ( 1st𝑤 ) / 𝑥 ] 𝑧 = ( 2nd𝑤 ) / 𝑦 𝐶 ) )
23 8 ad2antrl ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) → ( 1st𝑤 ) ∈ 𝐴 )
24 19 adantr ( ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) ∧ 𝑥 = ( 1st𝑤 ) ) → ( 2nd𝑤 ) ∈ 𝐵 )
25 eqop ( 𝑤 ∈ ( 𝐴 × 𝐵 ) → ( 𝑤 = ⟨ 𝐼 , 𝐽 ⟩ ↔ ( ( 1st𝑤 ) = 𝐼 ∧ ( 2nd𝑤 ) = 𝐽 ) ) )
26 25 ad2antrl ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) → ( 𝑤 = ⟨ 𝐼 , 𝐽 ⟩ ↔ ( ( 1st𝑤 ) = 𝐼 ∧ ( 2nd𝑤 ) = 𝐽 ) ) )
27 eqeq1 ( 𝑥 = ( 1st𝑤 ) → ( 𝑥 = 𝐼 ↔ ( 1st𝑤 ) = 𝐼 ) )
28 eqeq1 ( 𝑦 = ( 2nd𝑤 ) → ( 𝑦 = 𝐽 ↔ ( 2nd𝑤 ) = 𝐽 ) )
29 27 28 bi2anan9 ( ( 𝑥 = ( 1st𝑤 ) ∧ 𝑦 = ( 2nd𝑤 ) ) → ( ( 𝑥 = 𝐼𝑦 = 𝐽 ) ↔ ( ( 1st𝑤 ) = 𝐼 ∧ ( 2nd𝑤 ) = 𝐽 ) ) )
30 29 bicomd ( ( 𝑥 = ( 1st𝑤 ) ∧ 𝑦 = ( 2nd𝑤 ) ) → ( ( ( 1st𝑤 ) = 𝐼 ∧ ( 2nd𝑤 ) = 𝐽 ) ↔ ( 𝑥 = 𝐼𝑦 = 𝐽 ) ) )
31 26 30 sylan9bb ( ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) ∧ ( 𝑥 = ( 1st𝑤 ) ∧ 𝑦 = ( 2nd𝑤 ) ) ) → ( 𝑤 = ⟨ 𝐼 , 𝐽 ⟩ ↔ ( 𝑥 = 𝐼𝑦 = 𝐽 ) ) )
32 31 anassrs ( ( ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) ∧ 𝑥 = ( 1st𝑤 ) ) ∧ 𝑦 = ( 2nd𝑤 ) ) → ( 𝑤 = ⟨ 𝐼 , 𝐽 ⟩ ↔ ( 𝑥 = 𝐼𝑦 = 𝐽 ) ) )
33 eleq1 ( 𝑥 = ( 1st𝑤 ) → ( 𝑥𝐴 ↔ ( 1st𝑤 ) ∈ 𝐴 ) )
34 8 33 syl5ibrcom ( 𝑤 ∈ ( 𝐴 × 𝐵 ) → ( 𝑥 = ( 1st𝑤 ) → 𝑥𝐴 ) )
35 34 imp ( ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑥 = ( 1st𝑤 ) ) → 𝑥𝐴 )
36 eleq1 ( 𝑦 = ( 2nd𝑤 ) → ( 𝑦𝐵 ↔ ( 2nd𝑤 ) ∈ 𝐵 ) )
37 9 36 syl5ibrcom ( 𝑤 ∈ ( 𝐴 × 𝐵 ) → ( 𝑦 = ( 2nd𝑤 ) → 𝑦𝐵 ) )
38 37 imp ( ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑦 = ( 2nd𝑤 ) ) → 𝑦𝐵 )
39 35 38 anim12dan ( ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ ( 𝑥 = ( 1st𝑤 ) ∧ 𝑦 = ( 2nd𝑤 ) ) ) → ( 𝑥𝐴𝑦𝐵 ) )
40 39 3impb ( ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑥 = ( 1st𝑤 ) ∧ 𝑦 = ( 2nd𝑤 ) ) → ( 𝑥𝐴𝑦𝐵 ) )
41 40 3adant1r ( ( ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ∧ 𝑥 = ( 1st𝑤 ) ∧ 𝑦 = ( 2nd𝑤 ) ) → ( 𝑥𝐴𝑦𝐵 ) )
42 simp1r ( ( ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ∧ 𝑥 = ( 1st𝑤 ) ∧ 𝑦 = ( 2nd𝑤 ) ) → 𝑧𝐷 )
43 41 42 jca ( ( ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ∧ 𝑥 = ( 1st𝑤 ) ∧ 𝑦 = ( 2nd𝑤 ) ) → ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑧𝐷 ) )
44 43 5 sylan2 ( ( 𝜑 ∧ ( ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ∧ 𝑥 = ( 1st𝑤 ) ∧ 𝑦 = ( 2nd𝑤 ) ) ) → ( ( 𝑥 = 𝐼𝑦 = 𝐽 ) ↔ 𝑧 = 𝐶 ) )
45 44 3anassrs ( ( ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) ∧ 𝑥 = ( 1st𝑤 ) ) ∧ 𝑦 = ( 2nd𝑤 ) ) → ( ( 𝑥 = 𝐼𝑦 = 𝐽 ) ↔ 𝑧 = 𝐶 ) )
46 32 45 bitr2d ( ( ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) ∧ 𝑥 = ( 1st𝑤 ) ) ∧ 𝑦 = ( 2nd𝑤 ) ) → ( 𝑧 = 𝐶𝑤 = ⟨ 𝐼 , 𝐽 ⟩ ) )
47 24 46 sbcied ( ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) ∧ 𝑥 = ( 1st𝑤 ) ) → ( [ ( 2nd𝑤 ) / 𝑦 ] 𝑧 = 𝐶𝑤 = ⟨ 𝐼 , 𝐽 ⟩ ) )
48 23 47 sbcied ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) → ( [ ( 1st𝑤 ) / 𝑥 ] [ ( 2nd𝑤 ) / 𝑦 ] 𝑧 = 𝐶𝑤 = ⟨ 𝐼 , 𝐽 ⟩ ) )
49 sbceq2g ( ( 1st𝑤 ) ∈ 𝐴 → ( [ ( 1st𝑤 ) / 𝑥 ] 𝑧 = ( 2nd𝑤 ) / 𝑦 𝐶𝑧 = ( 1st𝑤 ) / 𝑥 ( 2nd𝑤 ) / 𝑦 𝐶 ) )
50 23 49 syl ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) → ( [ ( 1st𝑤 ) / 𝑥 ] 𝑧 = ( 2nd𝑤 ) / 𝑦 𝐶𝑧 = ( 1st𝑤 ) / 𝑥 ( 2nd𝑤 ) / 𝑦 𝐶 ) )
51 22 48 50 3bitr3d ( ( 𝜑 ∧ ( 𝑤 ∈ ( 𝐴 × 𝐵 ) ∧ 𝑧𝐷 ) ) → ( 𝑤 = ⟨ 𝐼 , 𝐽 ⟩ ↔ 𝑧 = ( 1st𝑤 ) / 𝑥 ( 2nd𝑤 ) / 𝑦 𝐶 ) )
52 7 17 18 51 f1o2d ( 𝜑𝐹 : ( 𝐴 × 𝐵 ) –1-1-onto𝐷 )