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

Theorem resixpfo 8967
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 8964 . . . 4 ((𝐵 ⊆ 𝐴 ∧ 𝑓 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝑓 ↾ 𝐵) ∈ X𝑥 ∈ 𝐵 𝐶)
2 resixpfo.1 . . . 4 𝐹 = (𝑓 ∈ X𝑥 ∈ 𝐴 𝐶 ↦ (𝑓 ↾ 𝐵))
31, 2fmptd 7114 . . 3 (𝐵 ⊆ 𝐴 → 𝐹:X𝑥 ∈ 𝐴 𝐶⟶X𝑥 ∈ 𝐵 𝐶)
43adantr 486 . 2 ((𝐵 ⊆ 𝐴 ∧ X𝑥 ∈ 𝐴 𝐶 ≠ ∅) → 𝐹:X𝑥 ∈ 𝐴 𝐶⟶X𝑥 ∈ 𝐵 𝐶)
5 n0 4299 . . . 4 (X𝑥 ∈ 𝐴 𝐶 ≠ ∅ ↔ ∃𝑔 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶)
6 eleq1w 2843 . . . . . . . . . . . 12 (𝑧 = 𝑥 → (𝑧 ∈ 𝐵 ↔ 𝑥 ∈ 𝐵))
76ifbid 4505 . . . . . . . . . . 11 (𝑧 = 𝑥 → if(𝑧 ∈ 𝐵, ℎ, 𝑔) = if(𝑥 ∈ 𝐵, ℎ, 𝑔))
8 id 23 . . . . . . . . . . 11 (𝑧 = 𝑥 → 𝑧 = 𝑥)
97, 8fveq12d 6892 . . . . . . . . . 10 (𝑧 = 𝑥 → (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧) = (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥))
109cbvmptv 5208 . . . . . . . . 9 (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) = (𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥))
11 vex 3454 . . . . . . . . . . . . . . . 16 ℎ ∈ V
1211elixp 8935 . . . . . . . . . . . . . . 15 (ℎ ∈ X𝑥 ∈ 𝐵 𝐶 ↔ (ℎ Fn 𝐵 ∧ ∀𝑥 ∈ 𝐵 (ℎ‘𝑥) ∈ 𝐶))
1312simprbi 503 . . . . . . . . . . . . . 14 (ℎ ∈ X𝑥 ∈ 𝐵 𝐶 → ∀𝑥 ∈ 𝐵 (ℎ‘𝑥) ∈ 𝐶)
14 fveq1 6884 . . . . . . . . . . . . . . . . . 18 (ℎ = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → (ℎ‘𝑥) = (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥))
1514eleq1d 2845 . . . . . . . . . . . . . . . . 17 (ℎ = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → ((ℎ‘𝑥) ∈ 𝐶 ↔ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
16 fveq1 6884 . . . . . . . . . . . . . . . . . 18 (𝑔 = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → (𝑔‘𝑥) = (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥))
1716eleq1d 2845 . . . . . . . . . . . . . . . . 17 (𝑔 = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → ((𝑔‘𝑥) ∈ 𝐶 ↔ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
18 simpl 488 . . . . . . . . . . . . . . . . . 18 (((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) → (𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶))
1918imp 412 . . . . . . . . . . . . . . . . 17 ((((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) ∧ 𝑥 ∈ 𝐵) → (ℎ‘𝑥) ∈ 𝐶)
20 simplrr 790 . . . . . . . . . . . . . . . . 17 ((((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) ∧ ¬ 𝑥 ∈ 𝐵) → (𝑔‘𝑥) ∈ 𝐶)
2115, 17, 19, 20ifbothda 4520 . . . . . . . . . . . . . . . 16 (((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)
2221exp32 426 . . . . . . . . . . . . . . 15 ((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) → (𝑥 ∈ 𝐴 → ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)))
2322ralimi2 3094 . . . . . . . . . . . . . 14 (∀𝑥 ∈ 𝐵 (ℎ‘𝑥) ∈ 𝐶 → ∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
2413, 23syl 18 . . . . . . . . . . . . 13 (ℎ ∈ X𝑥 ∈ 𝐵 𝐶 → ∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
2524adantl 487 . . . . . . . . . . . 12 ((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) → ∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
26 ralim 3102 . . . . . . . . . . . 12 (∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶) → (∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶 → ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
2725, 26syl 18 . . . . . . . . . . 11 ((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) → (∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶 → ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
28 vex 3454 . . . . . . . . . . . . 13 𝑔 ∈ V
2928elixp 8935 . . . . . . . . . . . 12 (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 ↔ (𝑔 Fn 𝐴 ∧ ∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶))
3029simprbi 503 . . . . . . . . . . 11 (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶)
3127, 30impel 515 . . . . . . . . . 10 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)
32 n0i 4285 . . . . . . . . . . . . 13 (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ¬ X𝑥 ∈ 𝐴 𝐶 = ∅)
33 ixpprc 8950 . . . . . . . . . . . . 13 (¬ 𝐴 ∈ V → X𝑥 ∈ 𝐴 𝐶 = ∅)
3432, 33nsyl2 142 . . . . . . . . . . . 12 (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → 𝐴 ∈ V)
3534adantl 487 . . . . . . . . . . 11 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → 𝐴 ∈ V)
36 mptelixpg 8966 . . . . . . . . . . 11 (𝐴 ∈ V → ((𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) ∈ X𝑥 ∈ 𝐴 𝐶 ↔ ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
3735, 36syl 18 . . . . . . . . . 10 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) ∈ X𝑥 ∈ 𝐴 𝐶 ↔ ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))
3831, 37mpbird 260 . . . . . . . . 9 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) ∈ X𝑥 ∈ 𝐴 𝐶)
3910, 38eqeltrid 2864 . . . . . . . 8 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ∈ X𝑥 ∈ 𝐴 𝐶)
40 reseq1 5963 . . . . . . . . . 10 (𝑓 = (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) → (𝑓 ↾ 𝐵) = ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵))
41 iftrue 4487 . . . . . . . . . . . . . 14 (𝑧 ∈ 𝐵 → if(𝑧 ∈ 𝐵, ℎ, 𝑔) = ℎ)
4241fveq1d 6887 . . . . . . . . . . . . 13 (𝑧 ∈ 𝐵 → (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧) = (ℎ‘𝑧))
4342mpteq2ia 5199 . . . . . . . . . . . 12 (𝑧 ∈ 𝐵 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) = (𝑧 ∈ 𝐵 ↦ (ℎ‘𝑧))
44 resmpt 6028 . . . . . . . . . . . . 13 (𝐵 ⊆ 𝐴 → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) = (𝑧 ∈ 𝐵 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)))
4544ad2antrr 739 . . . . . . . . . . . 12 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) = (𝑧 ∈ 𝐵 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)))
46 ixpfn 8934 . . . . . . . . . . . . . 14 (ℎ ∈ X𝑥 ∈ 𝐵 𝐶 → ℎ Fn 𝐵)
4746ad2antlr 740 . . . . . . . . . . . . 13 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ℎ Fn 𝐵)
48 dffn5 6943 . . . . . . . . . . . . 13 (ℎ Fn 𝐵 ↔ ℎ = (𝑧 ∈ 𝐵 ↦ (ℎ‘𝑧)))
4947, 48sylib 221 . . . . . . . . . . . 12 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ℎ = (𝑧 ∈ 𝐵 ↦ (ℎ‘𝑧)))
5043, 45, 493eqtr4a 2821 . . . . . . . . . . 11 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) = ℎ)
5150, 11eqeltrdi 2868 . . . . . . . . . 10 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) ∈ V)
522, 40, 39, 51fvmptd3 7017 . . . . . . . . 9 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧))) = ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵))
5352, 50eqtr2d 2796 . . . . . . . 8 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ℎ = (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧))))
54 fveq2 6885 . . . . . . . . 9 (𝑦 = (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) → (𝐹‘𝑦) = (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧))))
5554rspceeqv 3598 . . . . . . . 8 (((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ∈ X𝑥 ∈ 𝐴 𝐶 ∧ ℎ = (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)))) → ∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))
5639, 53, 55syl2anc 596 . . . . . . 7 (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))
5756ex 418 . . . . . 6 ((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) → (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)))
5857ralrimdva 3162 . . . . 5 (𝐵 ⊆ 𝐴 → (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)))
5958exlimdv 1965 . . . 4 (𝐵 ⊆ 𝐴 → (∃𝑔 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)))
605, 59biimtrid 245 . . 3 (𝐵 ⊆ 𝐴 → (X𝑥 ∈ 𝐴 𝐶 ≠ ∅ → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)))
6160imp 412 . 2 ((𝐵 ⊆ 𝐴 ∧ X𝑥 ∈ 𝐴 𝐶 ≠ ∅) → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))
62 dffo3 7102 . 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 1569  ∃wex 1811   ∈ wcel 2144   ≠ wne 2955  ∀wral 3076  ∃wrex 3086  Vcvv 3450   ⊆ wss 3895  ∅c0 4278  ifcif 4481   ↦ cmpt 5185   ↾ cres 5652   Fn wfn 6533  ⟶wf 6534  –onto→wfo 6536  ‘cfv 6538  Xcixp 8928
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pr 5390  ax-un 7751
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5545  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-ixp 8929
This theorem is used by:  ptcmplem2  24377
  Copyright terms: Public domain W3C validator