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

Theorem resixpfo 8948
Description: Restriction of elements of an infinite Cartesian product creates a surjection, if the original Cartesian product is nonempty. (Contributed by Mario Carneiro, 27-Aug-2015.)
Hypothesis
Ref Expression
resixpfo.1 𝐹 = (𝑓 ∈ X𝑥 ∈ 𝐴 𝐶 ↦ (𝑓 ↾ 𝐵))
Assertion
Ref Expression
resixpfo ((𝐵 ⊆ 𝐴 ∧ X𝑥 ∈ 𝐴 𝐶 ≠ ∅) → 𝐹:X𝑥 ∈ 𝐴 𝐶–onto→X𝑥 ∈ 𝐵 𝐶)
Distinct variable groups:   𝑥,𝑓,𝐴   𝐵,𝑓,𝑥   𝐶,𝑓
Allowed substitution hints:   𝐶(𝑥)   𝐹(𝑥, 𝑓)

Proof of Theorem resixpfo
Dummy variables 𝑔 ℎ 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 resixp 8945 . . . 4 ((𝐵 ⊆ 𝐴 ∧ 𝑓 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝑓 ↾ 𝐵) ∈ X𝑥 ∈ 𝐵 𝐶)
2 resixpfo.1 . . . 4 𝐹 = (𝑓 ∈ X𝑥 ∈ 𝐴 𝐶 ↦ (𝑓 ↾ 𝐵))
31, 2fmptd 7106 . . 3 (𝐵 ⊆ 𝐴 → 𝐹:X𝑥 ∈ 𝐴 𝐶⟶X𝑥 ∈ 𝐵 𝐶)
43adantr 486 . 2 ((𝐵 ⊆ 𝐴 ∧ X𝑥 ∈ 𝐴 𝐶 ≠ ∅) → 𝐹:X𝑥 ∈ 𝐴 𝐶⟶X𝑥 ∈ 𝐵 𝐶)
5 n0 4300 . . . 4 (X𝑥 ∈ 𝐴 𝐶 ≠ ∅ ↔ ∃𝑔 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶)
6 eleq1w 2844 . . . . . . . . . . . 12 (𝑧 = 𝑥 → (𝑧 ∈ 𝐵 ↔ 𝑥 ∈ 𝐵))
76ifbid 4506 . . . . . . . . . . 11 (𝑧 = 𝑥 → if(𝑧 ∈ 𝐵, ℎ, 𝑔) = if(𝑥 ∈ 𝐵, ℎ, 𝑔))
8 id 23 . . . . . . . . . . 11 (𝑧 = 𝑥 → 𝑧 = 𝑥)
97, 8fveq12d 6884 . . . . . . . . . 10 (𝑧 = 𝑥 → (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧) = (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥))
109cbvmptv 5209 . . . . . . . . 9 (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) = (𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥))
11 vex 3455 . . . . . . . . . . . . . . . 16 ℎ ∈ V
1211elixp 8916 . . . . . . . . . . . . . . 15 (ℎ ∈ X𝑥 ∈ 𝐵 𝐶 ↔ (ℎ Fn 𝐵 ∧ ∀𝑥 ∈ 𝐵 (ℎ‘𝑥) ∈ 𝐶))
1312simprbi 503 . . . . . . . . . . . . . 14 (ℎ ∈ X𝑥 ∈ 𝐵 𝐶 → ∀𝑥 ∈ 𝐵 (ℎ‘𝑥) ∈ 𝐶)
14 fveq1 6876 . . . . . . . . . . . . . . . . . 18 (ℎ = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → (ℎ‘𝑥) = (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥))
1514eleq1d 2846 . . . . . . . . . . . . . . . . 17 (ℎ = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → ((ℎ‘𝑥) ∈ 𝐶 ↔ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
16 fveq1 6876 . . . . . . . . . . . . . . . . . 18 (𝑔 = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → (𝑔‘𝑥) = (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥))
1716eleq1d 2846 . . . . . . . . . . . . . . . . 17 (𝑔 = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → ((𝑔‘𝑥) ∈ 𝐶 ↔ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
18 simpl 488 . . . . . . . . . . . . . . . . . 18 (((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) → (𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶))
1918imp 412 . . . . . . . . . . . . . . . . 17 ((((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) ∧ 𝑥 ∈ 𝐵) → (ℎ‘𝑥) ∈ 𝐶)
20 simplrr 790 . . . . . . . . . . . . . . . . 17 ((((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) ∧ ¬ 𝑥 ∈ 𝐵) → (𝑔‘𝑥) ∈ 𝐶)
2115, 17, 19, 20ifbothda 4521 . . . . . . . . . . . . . . . 16 (((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)
2221exp32 426 . . . . . . . . . . . . . . 15 ((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) → (𝑥 ∈ 𝐴 → ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)))
2322ralimi2 3095 . . . . . . . . . . . . . 14 (∀𝑥 ∈ 𝐵 (ℎ‘𝑥) ∈ 𝐶 → ∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
2413, 23syl 18 . . . . . . . . . . . . 13 (ℎ ∈ X𝑥 ∈ 𝐵 𝐶 → ∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
2524adantl 487 . . . . . . . . . . . 12 ((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) → ∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
26 ralim 3103 . . . . . . . . . . . 12 (∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶) → (∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶 → ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
2725, 26syl 18 . . . . . . . . . . 11 ((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) → (∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶 → ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
28 vex 3455 . . . . . . . . . . . . 13 𝑔 ∈ V
2928elixp 8916 . . . . . . . . . . . 12 (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 ↔ (𝑔 Fn 𝐴 ∧ ∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶))
3029simprbi 503 . . . . . . . . . . 11 (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶)
3127, 30impel 515 . . . . . . . . . 10 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)
32 n0i 4286 . . . . . . . . . . . . 13 (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ¬ X𝑥 ∈ 𝐴 𝐶 = ∅)
33 ixpprc 8931 . . . . . . . . . . . . 13 (¬ 𝐴 ∈ V → X𝑥 ∈ 𝐴 𝐶 = ∅)
3432, 33nsyl2 142 . . . . . . . . . . . 12 (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → 𝐴 ∈ V)
3534adantl 487 . . . . . . . . . . 11 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → 𝐴 ∈ V)
36 mptelixpg 8947 . . . . . . . . . . 11 (𝐴 ∈ V → ((𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) ∈ X𝑥 ∈ 𝐴 𝐶 ↔ ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
3735, 36syl 18 . . . . . . . . . 10 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) ∈ X𝑥 ∈ 𝐴 𝐶 ↔ ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
3831, 37mpbird 260 . . . . . . . . 9 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) ∈ X𝑥 ∈ 𝐴 𝐶)
3910, 38eqeltrid 2865 . . . . . . . 8 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ∈ X𝑥 ∈ 𝐴 𝐶)
40 reseq1 5964 . . . . . . . . . 10 (𝑓 = (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) → (𝑓 ↾ 𝐵) = ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵))
41 iftrue 4488 . . . . . . . . . . . . . 14 (𝑧 ∈ 𝐵 → if(𝑧 ∈ 𝐵, ℎ, 𝑔) = ℎ)
4241fveq1d 6879 . . . . . . . . . . . . 13 (𝑧 ∈ 𝐵 → (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧) = (ℎ‘𝑧))
4342mpteq2ia 5200 . . . . . . . . . . . 12 (𝑧 ∈ 𝐵 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) = (𝑧 ∈ 𝐵 ↦ (ℎ‘𝑧))
44 resmpt 6031 . . . . . . . . . . . . 13 (𝐵 ⊆ 𝐴 → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) = (𝑧 ∈ 𝐵 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)))
4544ad2antrr 739 . . . . . . . . . . . 12 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) = (𝑧 ∈ 𝐵 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)))
46 ixpfn 8915 . . . . . . . . . . . . . 14 (ℎ ∈ X𝑥 ∈ 𝐵 𝐶 → ℎ Fn 𝐵)
4746ad2antlr 740 . . . . . . . . . . . . 13 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ℎ Fn 𝐵)
48 dffn5 6935 . . . . . . . . . . . . 13 (ℎ Fn 𝐵 ↔ ℎ = (𝑧 ∈ 𝐵 ↦ (ℎ‘𝑧)))
4947, 48sylib 221 . . . . . . . . . . . 12 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ℎ = (𝑧 ∈ 𝐵 ↦ (ℎ‘𝑧)))
5043, 45, 493eqtr4a 2822 . . . . . . . . . . 11 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) = ℎ)
5150, 11eqeltrdi 2869 . . . . . . . . . 10 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) ∈ V)
522, 40, 39, 51fvmptd3 7009 . . . . . . . . 9 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧))) = ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵))
5352, 50eqtr2d 2797 . . . . . . . 8 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ℎ = (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧))))
54 fveq2 6877 . . . . . . . . 9 (𝑦 = (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) → (𝐹‘𝑦) = (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧))))
5554rspceeqv 3599 . . . . . . . 8 (((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ∈ X𝑥 ∈ 𝐴 𝐶 ∧ ℎ = (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)))) → ∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))
5639, 53, 55syl2anc 596 . . . . . . 7 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))
5756ex 418 . . . . . 6 ((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) → (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)))
5857ralrimdva 3163 . . . . 5 (𝐵 ⊆ 𝐴 → (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)))
5958exlimdv 1966 . . . 4 (𝐵 ⊆ 𝐴 → (∃𝑔 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)))
605, 59biimtrid 245 . . 3 (𝐵 ⊆ 𝐴 → (X𝑥 ∈ 𝐴 𝐶 ≠ ∅ → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)))
6160imp 412 . 2 ((𝐵 ⊆ 𝐴 ∧ X𝑥 ∈ 𝐴 𝐶 ≠ ∅) → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))
62 dffo3 7094 . 2 (𝐹:X𝑥 ∈ 𝐴 𝐶–onto→X𝑥 ∈ 𝐵 𝐶 ↔ (𝐹:X𝑥 ∈ 𝐴 𝐶⟶X𝑥 ∈ 𝐵 𝐶 ∧ ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)))
634, 61, 62sylanbrc 595 1 ((𝐵 ⊆ 𝐴 ∧ X𝑥 ∈ 𝐴 𝐶 ≠ ∅) → 𝐹:X𝑥 ∈ 𝐴 𝐶–onto→X𝑥 ∈ 𝐵 𝐶)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1570  ∃wex 1812   ∈ wcel 2145   ≠ wne 2956  ∀wral 3077  ∃wrex 3087  Vcvv 3451   ⊆ wss 3899  ∅c0 4279  ifcif 4482   ↦ cmpt 5186   ↾ cres 5653   Fn wfn 6526  ⟶wf 6527  –onto→wfo 6529  ‘cfv 6531  Xcixp 8909
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pr 5391  ax-un 7740
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-iota 6487  df-fun 6533  df-fn 6534  df-f 6535  df-f1 6536  df-fo 6537  df-f1o 6538  df-fv 6539  df-ixp 8910
This theorem is used by:  ptcmplem2  24352
  Copyright terms: Public domain W3C validator