This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Lemma for fmucnd . (Contributed by Thierry Arnoux, 19-Nov-2017)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | fmucndlem | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) “ ( 𝐴 × 𝐴 ) ) = ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | df-ima | ⊢ ( ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) “ ( 𝐴 × 𝐴 ) ) = ran ( ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↾ ( 𝐴 × 𝐴 ) ) | |
| 2 | simpr | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → 𝐴 ⊆ 𝑋 ) | |
| 3 | resmpo | ⊢ ( ( 𝐴 ⊆ 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↾ ( 𝐴 × 𝐴 ) ) = ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ) | |
| 4 | 2 3 | sylancom | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↾ ( 𝐴 × 𝐴 ) ) = ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ) |
| 5 | 4 | rneqd | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ran ( ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↾ ( 𝐴 × 𝐴 ) ) = ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ) |
| 6 | 1 5 | eqtrid | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) “ ( 𝐴 × 𝐴 ) ) = ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ) |
| 7 | vex | ⊢ 𝑥 ∈ V | |
| 8 | vex | ⊢ 𝑦 ∈ V | |
| 9 | 7 8 | op1std | ⊢ ( 𝑝 = 〈 𝑥 , 𝑦 〉 → ( 1st ‘ 𝑝 ) = 𝑥 ) |
| 10 | 9 | fveq2d | ⊢ ( 𝑝 = 〈 𝑥 , 𝑦 〉 → ( 𝐹 ‘ ( 1st ‘ 𝑝 ) ) = ( 𝐹 ‘ 𝑥 ) ) |
| 11 | 7 8 | op2ndd | ⊢ ( 𝑝 = 〈 𝑥 , 𝑦 〉 → ( 2nd ‘ 𝑝 ) = 𝑦 ) |
| 12 | 11 | fveq2d | ⊢ ( 𝑝 = 〈 𝑥 , 𝑦 〉 → ( 𝐹 ‘ ( 2nd ‘ 𝑝 ) ) = ( 𝐹 ‘ 𝑦 ) ) |
| 13 | 10 12 | opeq12d | ⊢ ( 𝑝 = 〈 𝑥 , 𝑦 〉 → 〈 ( 𝐹 ‘ ( 1st ‘ 𝑝 ) ) , ( 𝐹 ‘ ( 2nd ‘ 𝑝 ) ) 〉 = 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) |
| 14 | 13 | mpompt | ⊢ ( 𝑝 ∈ ( 𝐴 × 𝐴 ) ↦ 〈 ( 𝐹 ‘ ( 1st ‘ 𝑝 ) ) , ( 𝐹 ‘ ( 2nd ‘ 𝑝 ) ) 〉 ) = ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) |
| 15 | 14 | eqcomi | ⊢ ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) = ( 𝑝 ∈ ( 𝐴 × 𝐴 ) ↦ 〈 ( 𝐹 ‘ ( 1st ‘ 𝑝 ) ) , ( 𝐹 ‘ ( 2nd ‘ 𝑝 ) ) 〉 ) |
| 16 | 15 | rneqi | ⊢ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) = ran ( 𝑝 ∈ ( 𝐴 × 𝐴 ) ↦ 〈 ( 𝐹 ‘ ( 1st ‘ 𝑝 ) ) , ( 𝐹 ‘ ( 2nd ‘ 𝑝 ) ) 〉 ) |
| 17 | fvexd | ⊢ ( ( ⊤ ∧ 𝑝 ∈ ( 𝐴 × 𝐴 ) ) → ( 𝐹 ‘ ( 1st ‘ 𝑝 ) ) ∈ V ) | |
| 18 | fvexd | ⊢ ( ( ⊤ ∧ 𝑝 ∈ ( 𝐴 × 𝐴 ) ) → ( 𝐹 ‘ ( 2nd ‘ 𝑝 ) ) ∈ V ) | |
| 19 | 16 17 18 | fliftrel | ⊢ ( ⊤ → ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ⊆ ( V × V ) ) |
| 20 | 19 | mptru | ⊢ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ⊆ ( V × V ) |
| 21 | 20 | sseli | ⊢ ( 𝑝 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) → 𝑝 ∈ ( V × V ) ) |
| 22 | 21 | adantl | ⊢ ( ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) ∧ 𝑝 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ) → 𝑝 ∈ ( V × V ) ) |
| 23 | xpss | ⊢ ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ⊆ ( V × V ) | |
| 24 | 23 | sseli | ⊢ ( 𝑝 ∈ ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) → 𝑝 ∈ ( V × V ) ) |
| 25 | 24 | adantl | ⊢ ( ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) ∧ 𝑝 ∈ ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ) → 𝑝 ∈ ( V × V ) ) |
| 26 | eqid | ⊢ ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) = ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) | |
| 27 | opex | ⊢ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ∈ V | |
| 28 | 26 27 | elrnmpo | ⊢ ( 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↔ ∃ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐴 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 = 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) |
| 29 | eqcom | ⊢ ( 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 = 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ↔ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 = 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ) | |
| 30 | fvex | ⊢ ( 1st ‘ 𝑝 ) ∈ V | |
| 31 | fvex | ⊢ ( 2nd ‘ 𝑝 ) ∈ V | |
| 32 | 30 31 | opth2 | ⊢ ( 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 = 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ↔ ( ( 𝐹 ‘ 𝑥 ) = ( 1st ‘ 𝑝 ) ∧ ( 𝐹 ‘ 𝑦 ) = ( 2nd ‘ 𝑝 ) ) ) |
| 33 | 29 32 | bitri | ⊢ ( 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 = 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ↔ ( ( 𝐹 ‘ 𝑥 ) = ( 1st ‘ 𝑝 ) ∧ ( 𝐹 ‘ 𝑦 ) = ( 2nd ‘ 𝑝 ) ) ) |
| 34 | 33 | 2rexbii | ⊢ ( ∃ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐴 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 = 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ↔ ∃ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐴 ( ( 𝐹 ‘ 𝑥 ) = ( 1st ‘ 𝑝 ) ∧ ( 𝐹 ‘ 𝑦 ) = ( 2nd ‘ 𝑝 ) ) ) |
| 35 | reeanv | ⊢ ( ∃ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐴 ( ( 𝐹 ‘ 𝑥 ) = ( 1st ‘ 𝑝 ) ∧ ( 𝐹 ‘ 𝑦 ) = ( 2nd ‘ 𝑝 ) ) ↔ ( ∃ 𝑥 ∈ 𝐴 ( 𝐹 ‘ 𝑥 ) = ( 1st ‘ 𝑝 ) ∧ ∃ 𝑦 ∈ 𝐴 ( 𝐹 ‘ 𝑦 ) = ( 2nd ‘ 𝑝 ) ) ) | |
| 36 | 28 34 35 | 3bitri | ⊢ ( 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↔ ( ∃ 𝑥 ∈ 𝐴 ( 𝐹 ‘ 𝑥 ) = ( 1st ‘ 𝑝 ) ∧ ∃ 𝑦 ∈ 𝐴 ( 𝐹 ‘ 𝑦 ) = ( 2nd ‘ 𝑝 ) ) ) |
| 37 | fvelimab | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( ( 1st ‘ 𝑝 ) ∈ ( 𝐹 “ 𝐴 ) ↔ ∃ 𝑥 ∈ 𝐴 ( 𝐹 ‘ 𝑥 ) = ( 1st ‘ 𝑝 ) ) ) | |
| 38 | fvelimab | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( ( 2nd ‘ 𝑝 ) ∈ ( 𝐹 “ 𝐴 ) ↔ ∃ 𝑦 ∈ 𝐴 ( 𝐹 ‘ 𝑦 ) = ( 2nd ‘ 𝑝 ) ) ) | |
| 39 | 37 38 | anbi12d | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( ( ( 1st ‘ 𝑝 ) ∈ ( 𝐹 “ 𝐴 ) ∧ ( 2nd ‘ 𝑝 ) ∈ ( 𝐹 “ 𝐴 ) ) ↔ ( ∃ 𝑥 ∈ 𝐴 ( 𝐹 ‘ 𝑥 ) = ( 1st ‘ 𝑝 ) ∧ ∃ 𝑦 ∈ 𝐴 ( 𝐹 ‘ 𝑦 ) = ( 2nd ‘ 𝑝 ) ) ) ) |
| 40 | 36 39 | bitr4id | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↔ ( ( 1st ‘ 𝑝 ) ∈ ( 𝐹 “ 𝐴 ) ∧ ( 2nd ‘ 𝑝 ) ∈ ( 𝐹 “ 𝐴 ) ) ) ) |
| 41 | opelxp | ⊢ ( 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ↔ ( ( 1st ‘ 𝑝 ) ∈ ( 𝐹 “ 𝐴 ) ∧ ( 2nd ‘ 𝑝 ) ∈ ( 𝐹 “ 𝐴 ) ) ) | |
| 42 | 40 41 | bitr4di | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↔ 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ) ) |
| 43 | 42 | adantr | ⊢ ( ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) ∧ 𝑝 ∈ ( V × V ) ) → ( 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↔ 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ) ) |
| 44 | 1st2nd2 | ⊢ ( 𝑝 ∈ ( V × V ) → 𝑝 = 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ) | |
| 45 | 44 | adantl | ⊢ ( ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) ∧ 𝑝 ∈ ( V × V ) ) → 𝑝 = 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ) |
| 46 | 45 | eleq1d | ⊢ ( ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) ∧ 𝑝 ∈ ( V × V ) ) → ( 𝑝 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↔ 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ) ) |
| 47 | 45 | eleq1d | ⊢ ( ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) ∧ 𝑝 ∈ ( V × V ) ) → ( 𝑝 ∈ ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ↔ 〈 ( 1st ‘ 𝑝 ) , ( 2nd ‘ 𝑝 ) 〉 ∈ ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ) ) |
| 48 | 43 46 47 | 3bitr4d | ⊢ ( ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) ∧ 𝑝 ∈ ( V × V ) ) → ( 𝑝 ∈ ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) ↔ 𝑝 ∈ ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ) ) |
| 49 | 22 25 48 | eqrdav | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ran ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐴 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) = ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ) |
| 50 | 6 49 | eqtrd | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝐴 ⊆ 𝑋 ) → ( ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ 〈 ( 𝐹 ‘ 𝑥 ) , ( 𝐹 ‘ 𝑦 ) 〉 ) “ ( 𝐴 × 𝐴 ) ) = ( ( 𝐹 “ 𝐴 ) × ( 𝐹 “ 𝐴 ) ) ) |