Metamath Proof Explorer < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >  fimaproj Structured version   Visualization version   GIF version

Theorem fimaproj 7840
 Description: Image of a cartesian product for a function on ordered pairs with values expressed as ordered pairs. Note that 𝐹 and 𝐺 are the projections of 𝐻 to the first and second coordinate respectively. (Contributed by Thierry Arnoux, 30-Dec-2019.)
Hypotheses
Ref Expression
fvproj.h 𝐻 = (𝑥𝐴, 𝑦𝐵 ↦ ⟨(𝐹𝑥), (𝐺𝑦)⟩)
fimaproj.f (𝜑𝐹 Fn 𝐴)
fimaproj.g (𝜑𝐺 Fn 𝐵)
fimaproj.x (𝜑𝑋𝐴)
fimaproj.y (𝜑𝑌𝐵)
Assertion
Ref Expression
fimaproj (𝜑 → (𝐻 “ (𝑋 × 𝑌)) = ((𝐹𝑋) × (𝐺𝑌)))
Distinct variable groups:   𝑥,𝐴,𝑦   𝑥,𝐵,𝑦   𝑥,𝐹,𝑦   𝑥,𝐺,𝑦   𝑥,𝐻,𝑦
Allowed substitution hints:   𝜑(𝑥,𝑦)   𝑋(𝑥,𝑦)   𝑌(𝑥,𝑦)

Proof of Theorem fimaproj
Dummy variables 𝑎 𝑏 𝑧 𝑐 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 opex 5328 . . . . 5 ⟨(𝐹‘(1st𝑧)), (𝐺‘(2nd𝑧))⟩ ∈ V
2 fvproj.h . . . . . 6 𝐻 = (𝑥𝐴, 𝑦𝐵 ↦ ⟨(𝐹𝑥), (𝐺𝑦)⟩)
3 vex 3413 . . . . . . . . . 10 𝑥 ∈ V
4 vex 3413 . . . . . . . . . 10 𝑦 ∈ V
53, 4op1std 7709 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (1st𝑧) = 𝑥)
65fveq2d 6667 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐹‘(1st𝑧)) = (𝐹𝑥))
73, 4op2ndd 7710 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (2nd𝑧) = 𝑦)
87fveq2d 6667 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐺‘(2nd𝑧)) = (𝐺𝑦))
96, 8opeq12d 4774 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → ⟨(𝐹‘(1st𝑧)), (𝐺‘(2nd𝑧))⟩ = ⟨(𝐹𝑥), (𝐺𝑦)⟩)
109mpompt 7266 . . . . . 6 (𝑧 ∈ (𝐴 × 𝐵) ↦ ⟨(𝐹‘(1st𝑧)), (𝐺‘(2nd𝑧))⟩) = (𝑥𝐴, 𝑦𝐵 ↦ ⟨(𝐹𝑥), (𝐺𝑦)⟩)
112, 10eqtr4i 2784 . . . . 5 𝐻 = (𝑧 ∈ (𝐴 × 𝐵) ↦ ⟨(𝐹‘(1st𝑧)), (𝐺‘(2nd𝑧))⟩)
121, 11fnmpti 6479 . . . 4 𝐻 Fn (𝐴 × 𝐵)
13 fimaproj.x . . . . 5 (𝜑𝑋𝐴)
14 fimaproj.y . . . . 5 (𝜑𝑌𝐵)
15 xpss12 5543 . . . . 5 ((𝑋𝐴𝑌𝐵) → (𝑋 × 𝑌) ⊆ (𝐴 × 𝐵))
1613, 14, 15syl2anc 587 . . . 4 (𝜑 → (𝑋 × 𝑌) ⊆ (𝐴 × 𝐵))
17 fvelimab 6730 . . . 4 ((𝐻 Fn (𝐴 × 𝐵) ∧ (𝑋 × 𝑌) ⊆ (𝐴 × 𝐵)) → (𝑐 ∈ (𝐻 “ (𝑋 × 𝑌)) ↔ ∃𝑧 ∈ (𝑋 × 𝑌)(𝐻𝑧) = 𝑐))
1812, 16, 17sylancr 590 . . 3 (𝜑 → (𝑐 ∈ (𝐻 “ (𝑋 × 𝑌)) ↔ ∃𝑧 ∈ (𝑋 × 𝑌)(𝐻𝑧) = 𝑐))
19 simp-4r 783 . . . . . . . 8 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → 𝑎𝑋)
20 simplr 768 . . . . . . . 8 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → 𝑏𝑌)
21 opelxpi 5565 . . . . . . . 8 ((𝑎𝑋𝑏𝑌) → ⟨𝑎, 𝑏⟩ ∈ (𝑋 × 𝑌))
2219, 20, 21syl2anc 587 . . . . . . 7 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → ⟨𝑎, 𝑏⟩ ∈ (𝑋 × 𝑌))
23 simpllr 775 . . . . . . . . 9 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → (𝐹𝑎) = (1st𝑐))
24 simpr 488 . . . . . . . . 9 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → (𝐺𝑏) = (2nd𝑐))
2523, 24opeq12d 4774 . . . . . . . 8 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → ⟨(𝐹𝑎), (𝐺𝑏)⟩ = ⟨(1st𝑐), (2nd𝑐)⟩)
2613ad5antr 733 . . . . . . . . . 10 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → 𝑋𝐴)
2726, 19sseldd 3895 . . . . . . . . 9 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → 𝑎𝐴)
2814ad5antr 733 . . . . . . . . . 10 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → 𝑌𝐵)
2928, 20sseldd 3895 . . . . . . . . 9 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → 𝑏𝐵)
302, 27, 29fvproj 7839 . . . . . . . 8 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → (𝐻‘⟨𝑎, 𝑏⟩) = ⟨(𝐹𝑎), (𝐺𝑏)⟩)
31 1st2nd2 7738 . . . . . . . . 9 (𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌)) → 𝑐 = ⟨(1st𝑐), (2nd𝑐)⟩)
3231ad5antlr 734 . . . . . . . 8 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → 𝑐 = ⟨(1st𝑐), (2nd𝑐)⟩)
3325, 30, 323eqtr4d 2803 . . . . . . 7 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → (𝐻‘⟨𝑎, 𝑏⟩) = 𝑐)
34 fveqeq2 6672 . . . . . . . 8 (𝑧 = ⟨𝑎, 𝑏⟩ → ((𝐻𝑧) = 𝑐 ↔ (𝐻‘⟨𝑎, 𝑏⟩) = 𝑐))
3534rspcev 3543 . . . . . . 7 ((⟨𝑎, 𝑏⟩ ∈ (𝑋 × 𝑌) ∧ (𝐻‘⟨𝑎, 𝑏⟩) = 𝑐) → ∃𝑧 ∈ (𝑋 × 𝑌)(𝐻𝑧) = 𝑐)
3622, 33, 35syl2anc 587 . . . . . 6 ((((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) ∧ 𝑏𝑌) ∧ (𝐺𝑏) = (2nd𝑐)) → ∃𝑧 ∈ (𝑋 × 𝑌)(𝐻𝑧) = 𝑐)
37 fimaproj.g . . . . . . . . 9 (𝜑𝐺 Fn 𝐵)
3837ad3antrrr 729 . . . . . . . 8 ((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) → 𝐺 Fn 𝐵)
39 fnfun 6439 . . . . . . . 8 (𝐺 Fn 𝐵 → Fun 𝐺)
4038, 39syl 17 . . . . . . 7 ((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) → Fun 𝐺)
41 xp2nd 7732 . . . . . . . 8 (𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌)) → (2nd𝑐) ∈ (𝐺𝑌))
4241ad3antlr 730 . . . . . . 7 ((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) → (2nd𝑐) ∈ (𝐺𝑌))
43 fvelima 6724 . . . . . . 7 ((Fun 𝐺 ∧ (2nd𝑐) ∈ (𝐺𝑌)) → ∃𝑏𝑌 (𝐺𝑏) = (2nd𝑐))
4440, 42, 43syl2anc 587 . . . . . 6 ((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) → ∃𝑏𝑌 (𝐺𝑏) = (2nd𝑐))
4536, 44r19.29a 3213 . . . . 5 ((((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) ∧ 𝑎𝑋) ∧ (𝐹𝑎) = (1st𝑐)) → ∃𝑧 ∈ (𝑋 × 𝑌)(𝐻𝑧) = 𝑐)
46 fimaproj.f . . . . . . . 8 (𝜑𝐹 Fn 𝐴)
4746adantr 484 . . . . . . 7 ((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) → 𝐹 Fn 𝐴)
48 fnfun 6439 . . . . . . 7 (𝐹 Fn 𝐴 → Fun 𝐹)
4947, 48syl 17 . . . . . 6 ((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) → Fun 𝐹)
50 xp1st 7731 . . . . . . 7 (𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌)) → (1st𝑐) ∈ (𝐹𝑋))
5150adantl 485 . . . . . 6 ((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) → (1st𝑐) ∈ (𝐹𝑋))
52 fvelima 6724 . . . . . 6 ((Fun 𝐹 ∧ (1st𝑐) ∈ (𝐹𝑋)) → ∃𝑎𝑋 (𝐹𝑎) = (1st𝑐))
5349, 51, 52syl2anc 587 . . . . 5 ((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) → ∃𝑎𝑋 (𝐹𝑎) = (1st𝑐))
5445, 53r19.29a 3213 . . . 4 ((𝜑𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))) → ∃𝑧 ∈ (𝑋 × 𝑌)(𝐻𝑧) = 𝑐)
55 simpr 488 . . . . . 6 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → (𝐻𝑧) = 𝑐)
5616ad2antrr 725 . . . . . . . . 9 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → (𝑋 × 𝑌) ⊆ (𝐴 × 𝐵))
57 simplr 768 . . . . . . . . 9 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → 𝑧 ∈ (𝑋 × 𝑌))
5856, 57sseldd 3895 . . . . . . . 8 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → 𝑧 ∈ (𝐴 × 𝐵))
5911fvmpt2 6775 . . . . . . . 8 ((𝑧 ∈ (𝐴 × 𝐵) ∧ ⟨(𝐹‘(1st𝑧)), (𝐺‘(2nd𝑧))⟩ ∈ V) → (𝐻𝑧) = ⟨(𝐹‘(1st𝑧)), (𝐺‘(2nd𝑧))⟩)
6058, 1, 59sylancl 589 . . . . . . 7 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → (𝐻𝑧) = ⟨(𝐹‘(1st𝑧)), (𝐺‘(2nd𝑧))⟩)
6146ad2antrr 725 . . . . . . . . 9 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → 𝐹 Fn 𝐴)
6213ad2antrr 725 . . . . . . . . 9 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → 𝑋𝐴)
63 xp1st 7731 . . . . . . . . . 10 (𝑧 ∈ (𝑋 × 𝑌) → (1st𝑧) ∈ 𝑋)
6457, 63syl 17 . . . . . . . . 9 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → (1st𝑧) ∈ 𝑋)
65 fnfvima 6993 . . . . . . . . 9 ((𝐹 Fn 𝐴𝑋𝐴 ∧ (1st𝑧) ∈ 𝑋) → (𝐹‘(1st𝑧)) ∈ (𝐹𝑋))
6661, 62, 64, 65syl3anc 1368 . . . . . . . 8 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → (𝐹‘(1st𝑧)) ∈ (𝐹𝑋))
6737ad2antrr 725 . . . . . . . . 9 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → 𝐺 Fn 𝐵)
6814ad2antrr 725 . . . . . . . . 9 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → 𝑌𝐵)
69 xp2nd 7732 . . . . . . . . . 10 (𝑧 ∈ (𝑋 × 𝑌) → (2nd𝑧) ∈ 𝑌)
7057, 69syl 17 . . . . . . . . 9 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → (2nd𝑧) ∈ 𝑌)
71 fnfvima 6993 . . . . . . . . 9 ((𝐺 Fn 𝐵𝑌𝐵 ∧ (2nd𝑧) ∈ 𝑌) → (𝐺‘(2nd𝑧)) ∈ (𝐺𝑌))
7267, 68, 70, 71syl3anc 1368 . . . . . . . 8 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → (𝐺‘(2nd𝑧)) ∈ (𝐺𝑌))
73 opelxpi 5565 . . . . . . . 8 (((𝐹‘(1st𝑧)) ∈ (𝐹𝑋) ∧ (𝐺‘(2nd𝑧)) ∈ (𝐺𝑌)) → ⟨(𝐹‘(1st𝑧)), (𝐺‘(2nd𝑧))⟩ ∈ ((𝐹𝑋) × (𝐺𝑌)))
7466, 72, 73syl2anc 587 . . . . . . 7 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → ⟨(𝐹‘(1st𝑧)), (𝐺‘(2nd𝑧))⟩ ∈ ((𝐹𝑋) × (𝐺𝑌)))
7560, 74eqeltrd 2852 . . . . . 6 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → (𝐻𝑧) ∈ ((𝐹𝑋) × (𝐺𝑌)))
7655, 75eqeltrrd 2853 . . . . 5 (((𝜑𝑧 ∈ (𝑋 × 𝑌)) ∧ (𝐻𝑧) = 𝑐) → 𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌)))
7776r19.29an 3212 . . . 4 ((𝜑 ∧ ∃𝑧 ∈ (𝑋 × 𝑌)(𝐻𝑧) = 𝑐) → 𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌)))
7854, 77impbida 800 . . 3 (𝜑 → (𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌)) ↔ ∃𝑧 ∈ (𝑋 × 𝑌)(𝐻𝑧) = 𝑐))
7918, 78bitr4d 285 . 2 (𝜑 → (𝑐 ∈ (𝐻 “ (𝑋 × 𝑌)) ↔ 𝑐 ∈ ((𝐹𝑋) × (𝐺𝑌))))
8079eqrdv 2756 1 (𝜑 → (𝐻 “ (𝑋 × 𝑌)) = ((𝐹𝑋) × (𝐺𝑌)))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 209   ∧ wa 399   = wceq 1538   ∈ wcel 2111  ∃wrex 3071  Vcvv 3409   ⊆ wss 3860  ⟨cop 4531   ↦ cmpt 5116   × cxp 5526   “ cima 5531  Fun wfun 6334   Fn wfn 6335  ‘cfv 6340   ∈ cmpo 7158  1st c1st 7697  2nd c2nd 7698 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2729  ax-sep 5173  ax-nul 5180  ax-pr 5302  ax-un 7465 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3an 1086  df-tru 1541  df-fal 1551  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2557  df-eu 2588  df-clab 2736  df-cleq 2750  df-clel 2830  df-nfc 2901  df-ne 2952  df-ral 3075  df-rex 3076  df-rab 3079  df-v 3411  df-sbc 3699  df-csb 3808  df-dif 3863  df-un 3865  df-in 3867  df-ss 3877  df-nul 4228  df-if 4424  df-sn 4526  df-pr 4528  df-op 4532  df-uni 4802  df-iun 4888  df-br 5037  df-opab 5099  df-mpt 5117  df-id 5434  df-xp 5534  df-rel 5535  df-cnv 5536  df-co 5537  df-dm 5538  df-rn 5539  df-res 5540  df-ima 5541  df-iota 6299  df-fun 6342  df-fn 6343  df-fv 6348  df-ov 7159  df-oprab 7160  df-mpo 7161  df-1st 7699  df-2nd 7700 This theorem is referenced by:  txomap  31318
 Copyright terms: Public domain W3C validator