ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  fmptco GIF version

Theorem fmptco 5351
Description: Composition of two functions expressed as ordered-pair class abstractions. If 𝐹 has the equation ( x + 2 ) and 𝐺 the equation ( 3 * z ) then (𝐺𝐹) has the equation ( 3 * ( x + 2 ) ) . (Contributed by FL, 21-Jun-2012.) (Revised by Mario Carneiro, 24-Jul-2014.)
Hypotheses
Ref Expression
fmptco.1 ((𝜑𝑥𝐴) → 𝑅𝐵)
fmptco.2 (𝜑𝐹 = (𝑥𝐴𝑅))
fmptco.3 (𝜑𝐺 = (𝑦𝐵𝑆))
fmptco.4 (𝑦 = 𝑅𝑆 = 𝑇)
Assertion
Ref Expression
fmptco (𝜑 → (𝐺𝐹) = (𝑥𝐴𝑇))
Distinct variable groups:   𝑥,𝐴   𝑥,𝑦,𝐵   𝑦,𝑅   𝜑,𝑥   𝑥,𝑆   𝑦,𝑇
Allowed substitution hints:   𝜑(𝑦)   𝐴(𝑦)   𝑅(𝑥)   𝑆(𝑦)   𝑇(𝑥)   𝐹(𝑥,𝑦)   𝐺(𝑥,𝑦)

Proof of Theorem fmptco
Dummy variables 𝑣 𝑢 𝑤 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 relco 4839 . 2 Rel (𝐺𝐹)
2 funmpt 4958 . . 3 Fun (𝑥𝐴𝑇)
3 funrel 4939 . . 3 (Fun (𝑥𝐴𝑇) → Rel (𝑥𝐴𝑇))
42, 3ax-mp 7 . 2 Rel (𝑥𝐴𝑇)
5 fmptco.1 . . . . . . . . . . . . 13 ((𝜑𝑥𝐴) → 𝑅𝐵)
6 eqid 2081 . . . . . . . . . . . . 13 (𝑥𝐴𝑅) = (𝑥𝐴𝑅)
75, 6fmptd 5343 . . . . . . . . . . . 12 (𝜑 → (𝑥𝐴𝑅):𝐴𝐵)
8 fmptco.2 . . . . . . . . . . . . 13 (𝜑𝐹 = (𝑥𝐴𝑅))
98feq1d 5054 . . . . . . . . . . . 12 (𝜑 → (𝐹:𝐴𝐵 ↔ (𝑥𝐴𝑅):𝐴𝐵))
107, 9mpbird 165 . . . . . . . . . . 11 (𝜑𝐹:𝐴𝐵)
11 ffun 5068 . . . . . . . . . . 11 (𝐹:𝐴𝐵 → Fun 𝐹)
1210, 11syl 14 . . . . . . . . . 10 (𝜑 → Fun 𝐹)
13 funbrfv 5233 . . . . . . . . . . 11 (Fun 𝐹 → (𝑧𝐹𝑢 → (𝐹𝑧) = 𝑢))
1413imp 122 . . . . . . . . . 10 ((Fun 𝐹𝑧𝐹𝑢) → (𝐹𝑧) = 𝑢)
1512, 14sylan 277 . . . . . . . . 9 ((𝜑𝑧𝐹𝑢) → (𝐹𝑧) = 𝑢)
1615eqcomd 2086 . . . . . . . 8 ((𝜑𝑧𝐹𝑢) → 𝑢 = (𝐹𝑧))
1716a1d 22 . . . . . . 7 ((𝜑𝑧𝐹𝑢) → (𝑢𝐺𝑤𝑢 = (𝐹𝑧)))
1817expimpd 355 . . . . . 6 (𝜑 → ((𝑧𝐹𝑢𝑢𝐺𝑤) → 𝑢 = (𝐹𝑧)))
1918pm4.71rd 386 . . . . 5 (𝜑 → ((𝑧𝐹𝑢𝑢𝐺𝑤) ↔ (𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤))))
2019exbidv 1746 . . . 4 (𝜑 → (∃𝑢(𝑧𝐹𝑢𝑢𝐺𝑤) ↔ ∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤))))
21 exsimpl 1548 . . . . . . 7 (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) → ∃𝑢 𝑢 = (𝐹𝑧))
22 isset 2605 . . . . . . 7 ((𝐹𝑧) ∈ V ↔ ∃𝑢 𝑢 = (𝐹𝑧))
2321, 22sylibr 132 . . . . . 6 (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) → (𝐹𝑧) ∈ V)
2423a1i 9 . . . . 5 (𝜑 → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) → (𝐹𝑧) ∈ V))
2512adantr 270 . . . . . . . 8 ((𝜑𝑧𝐴) → Fun 𝐹)
26 fdm 5070 . . . . . . . . . . 11 (𝐹:𝐴𝐵 → dom 𝐹 = 𝐴)
2710, 26syl 14 . . . . . . . . . 10 (𝜑 → dom 𝐹 = 𝐴)
2827eleq2d 2148 . . . . . . . . 9 (𝜑 → (𝑧 ∈ dom 𝐹𝑧𝐴))
2928biimpar 291 . . . . . . . 8 ((𝜑𝑧𝐴) → 𝑧 ∈ dom 𝐹)
30 funfvex 5212 . . . . . . . 8 ((Fun 𝐹𝑧 ∈ dom 𝐹) → (𝐹𝑧) ∈ V)
3125, 29, 30syl2anc 403 . . . . . . 7 ((𝜑𝑧𝐴) → (𝐹𝑧) ∈ V)
3231adantrr 462 . . . . . 6 ((𝜑 ∧ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)) → (𝐹𝑧) ∈ V)
3332ex 113 . . . . 5 (𝜑 → ((𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇) → (𝐹𝑧) ∈ V))
34 breq2 3789 . . . . . . . . 9 (𝑢 = (𝐹𝑧) → (𝑧𝐹𝑢𝑧𝐹(𝐹𝑧)))
35 breq1 3788 . . . . . . . . 9 (𝑢 = (𝐹𝑧) → (𝑢𝐺𝑤 ↔ (𝐹𝑧)𝐺𝑤))
3634, 35anbi12d 456 . . . . . . . 8 (𝑢 = (𝐹𝑧) → ((𝑧𝐹𝑢𝑢𝐺𝑤) ↔ (𝑧𝐹(𝐹𝑧) ∧ (𝐹𝑧)𝐺𝑤)))
3736ceqsexgv 2724 . . . . . . 7 ((𝐹𝑧) ∈ V → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) ↔ (𝑧𝐹(𝐹𝑧) ∧ (𝐹𝑧)𝐺𝑤)))
38 funfvbrb 5301 . . . . . . . . . . 11 (Fun 𝐹 → (𝑧 ∈ dom 𝐹𝑧𝐹(𝐹𝑧)))
3912, 38syl 14 . . . . . . . . . 10 (𝜑 → (𝑧 ∈ dom 𝐹𝑧𝐹(𝐹𝑧)))
4039, 28bitr3d 188 . . . . . . . . 9 (𝜑 → (𝑧𝐹(𝐹𝑧) ↔ 𝑧𝐴))
418fveq1d 5200 . . . . . . . . . 10 (𝜑 → (𝐹𝑧) = ((𝑥𝐴𝑅)‘𝑧))
42 fmptco.3 . . . . . . . . . 10 (𝜑𝐺 = (𝑦𝐵𝑆))
43 eqidd 2082 . . . . . . . . . 10 (𝜑𝑤 = 𝑤)
4441, 42, 43breq123d 3799 . . . . . . . . 9 (𝜑 → ((𝐹𝑧)𝐺𝑤 ↔ ((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤))
4540, 44anbi12d 456 . . . . . . . 8 (𝜑 → ((𝑧𝐹(𝐹𝑧) ∧ (𝐹𝑧)𝐺𝑤) ↔ (𝑧𝐴 ∧ ((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤)))
46 nfcv 2219 . . . . . . . . . . 11 𝑥𝑧
47 nfv 1461 . . . . . . . . . . . 12 𝑥𝜑
48 nffvmpt1 5206 . . . . . . . . . . . . . 14 𝑥((𝑥𝐴𝑅)‘𝑧)
49 nfcv 2219 . . . . . . . . . . . . . 14 𝑥(𝑦𝐵𝑆)
50 nfcv 2219 . . . . . . . . . . . . . 14 𝑥𝑤
5148, 49, 50nfbr 3829 . . . . . . . . . . . . 13 𝑥((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤
52 nfcsb1v 2938 . . . . . . . . . . . . . 14 𝑥𝑧 / 𝑥𝑇
5352nfeq2 2230 . . . . . . . . . . . . 13 𝑥 𝑤 = 𝑧 / 𝑥𝑇
5451, 53nfbi 1521 . . . . . . . . . . . 12 𝑥(((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇)
5547, 54nfim 1504 . . . . . . . . . . 11 𝑥(𝜑 → (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇))
56 fveq2 5198 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → ((𝑥𝐴𝑅)‘𝑥) = ((𝑥𝐴𝑅)‘𝑧))
5756breq1d 3795 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤 ↔ ((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤))
58 csbeq1a 2916 . . . . . . . . . . . . . 14 (𝑥 = 𝑧𝑇 = 𝑧 / 𝑥𝑇)
5958eqeq2d 2092 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑤 = 𝑇𝑤 = 𝑧 / 𝑥𝑇))
6057, 59bibi12d 233 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑤 = 𝑇) ↔ (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇)))
6160imbi2d 228 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((𝜑 → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑤 = 𝑇)) ↔ (𝜑 → (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇))))
62 vex 2604 . . . . . . . . . . . . . 14 𝑤 ∈ V
63 simpl 107 . . . . . . . . . . . . . . . . 17 ((𝑦 = 𝑅𝑢 = 𝑤) → 𝑦 = 𝑅)
6463eleq1d 2147 . . . . . . . . . . . . . . . 16 ((𝑦 = 𝑅𝑢 = 𝑤) → (𝑦𝐵𝑅𝐵))
65 simpr 108 . . . . . . . . . . . . . . . . 17 ((𝑦 = 𝑅𝑢 = 𝑤) → 𝑢 = 𝑤)
66 fmptco.4 . . . . . . . . . . . . . . . . . 18 (𝑦 = 𝑅𝑆 = 𝑇)
6766adantr 270 . . . . . . . . . . . . . . . . 17 ((𝑦 = 𝑅𝑢 = 𝑤) → 𝑆 = 𝑇)
6865, 67eqeq12d 2095 . . . . . . . . . . . . . . . 16 ((𝑦 = 𝑅𝑢 = 𝑤) → (𝑢 = 𝑆𝑤 = 𝑇))
6964, 68anbi12d 456 . . . . . . . . . . . . . . 15 ((𝑦 = 𝑅𝑢 = 𝑤) → ((𝑦𝐵𝑢 = 𝑆) ↔ (𝑅𝐵𝑤 = 𝑇)))
70 df-mpt 3841 . . . . . . . . . . . . . . 15 (𝑦𝐵𝑆) = {⟨𝑦, 𝑢⟩ ∣ (𝑦𝐵𝑢 = 𝑆)}
7169, 70brabga 4019 . . . . . . . . . . . . . 14 ((𝑅𝐵𝑤 ∈ V) → (𝑅(𝑦𝐵𝑆)𝑤 ↔ (𝑅𝐵𝑤 = 𝑇)))
725, 62, 71sylancl 404 . . . . . . . . . . . . 13 ((𝜑𝑥𝐴) → (𝑅(𝑦𝐵𝑆)𝑤 ↔ (𝑅𝐵𝑤 = 𝑇)))
73 simpr 108 . . . . . . . . . . . . . . 15 ((𝜑𝑥𝐴) → 𝑥𝐴)
746fvmpt2 5275 . . . . . . . . . . . . . . 15 ((𝑥𝐴𝑅𝐵) → ((𝑥𝐴𝑅)‘𝑥) = 𝑅)
7573, 5, 74syl2anc 403 . . . . . . . . . . . . . 14 ((𝜑𝑥𝐴) → ((𝑥𝐴𝑅)‘𝑥) = 𝑅)
7675breq1d 3795 . . . . . . . . . . . . 13 ((𝜑𝑥𝐴) → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑅(𝑦𝐵𝑆)𝑤))
775biantrurd 299 . . . . . . . . . . . . 13 ((𝜑𝑥𝐴) → (𝑤 = 𝑇 ↔ (𝑅𝐵𝑤 = 𝑇)))
7872, 76, 773bitr4d 218 . . . . . . . . . . . 12 ((𝜑𝑥𝐴) → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑤 = 𝑇))
7978expcom 114 . . . . . . . . . . 11 (𝑥𝐴 → (𝜑 → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑤 = 𝑇)))
8046, 55, 61, 79vtoclgaf 2663 . . . . . . . . . 10 (𝑧𝐴 → (𝜑 → (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇)))
8180impcom 123 . . . . . . . . 9 ((𝜑𝑧𝐴) → (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇))
8281pm5.32da 439 . . . . . . . 8 (𝜑 → ((𝑧𝐴 ∧ ((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
8345, 82bitrd 186 . . . . . . 7 (𝜑 → ((𝑧𝐹(𝐹𝑧) ∧ (𝐹𝑧)𝐺𝑤) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
8437, 83sylan9bbr 450 . . . . . 6 ((𝜑 ∧ (𝐹𝑧) ∈ V) → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
8584ex 113 . . . . 5 (𝜑 → ((𝐹𝑧) ∈ V → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇))))
8624, 33, 85pm5.21ndd 653 . . . 4 (𝜑 → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
8720, 86bitrd 186 . . 3 (𝜑 → (∃𝑢(𝑧𝐹𝑢𝑢𝐺𝑤) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
88 vex 2604 . . . 4 𝑧 ∈ V
8988, 62opelco 4525 . . 3 (⟨𝑧, 𝑤⟩ ∈ (𝐺𝐹) ↔ ∃𝑢(𝑧𝐹𝑢𝑢𝐺𝑤))
90 df-mpt 3841 . . . . 5 (𝑥𝐴𝑇) = {⟨𝑥, 𝑣⟩ ∣ (𝑥𝐴𝑣 = 𝑇)}
9190eleq2i 2145 . . . 4 (⟨𝑧, 𝑤⟩ ∈ (𝑥𝐴𝑇) ↔ ⟨𝑧, 𝑤⟩ ∈ {⟨𝑥, 𝑣⟩ ∣ (𝑥𝐴𝑣 = 𝑇)})
92 nfv 1461 . . . . . 6 𝑥 𝑧𝐴
9352nfeq2 2230 . . . . . 6 𝑥 𝑣 = 𝑧 / 𝑥𝑇
9492, 93nfan 1497 . . . . 5 𝑥(𝑧𝐴𝑣 = 𝑧 / 𝑥𝑇)
95 nfv 1461 . . . . 5 𝑣(𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)
96 eleq1 2141 . . . . . 6 (𝑥 = 𝑧 → (𝑥𝐴𝑧𝐴))
9758eqeq2d 2092 . . . . . 6 (𝑥 = 𝑧 → (𝑣 = 𝑇𝑣 = 𝑧 / 𝑥𝑇))
9896, 97anbi12d 456 . . . . 5 (𝑥 = 𝑧 → ((𝑥𝐴𝑣 = 𝑇) ↔ (𝑧𝐴𝑣 = 𝑧 / 𝑥𝑇)))
99 eqeq1 2087 . . . . . 6 (𝑣 = 𝑤 → (𝑣 = 𝑧 / 𝑥𝑇𝑤 = 𝑧 / 𝑥𝑇))
10099anbi2d 451 . . . . 5 (𝑣 = 𝑤 → ((𝑧𝐴𝑣 = 𝑧 / 𝑥𝑇) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
10194, 95, 88, 62, 98, 100opelopabf 4029 . . . 4 (⟨𝑧, 𝑤⟩ ∈ {⟨𝑥, 𝑣⟩ ∣ (𝑥𝐴𝑣 = 𝑇)} ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇))
10291, 101bitri 182 . . 3 (⟨𝑧, 𝑤⟩ ∈ (𝑥𝐴𝑇) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇))
10387, 89, 1023bitr4g 221 . 2 (𝜑 → (⟨𝑧, 𝑤⟩ ∈ (𝐺𝐹) ↔ ⟨𝑧, 𝑤⟩ ∈ (𝑥𝐴𝑇)))
1041, 4, 103eqrelrdv 4454 1 (𝜑 → (𝐺𝐹) = (𝑥𝐴𝑇))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 102  wb 103   = wceq 1284  wex 1421  wcel 1433  Vcvv 2601  csb 2908  cop 3401   class class class wbr 3785  {copab 3838  cmpt 3839  dom cdm 4363  ccom 4367  Rel wrel 4368  Fun wfun 4916  wf 4918  cfv 4922
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 104  ax-ia2 105  ax-ia3 106  ax-io 662  ax-5 1376  ax-7 1377  ax-gen 1378  ax-ie1 1422  ax-ie2 1423  ax-8 1435  ax-10 1436  ax-11 1437  ax-i12 1438  ax-bndl 1439  ax-4 1440  ax-14 1445  ax-17 1459  ax-i9 1463  ax-ial 1467  ax-i5r 1468  ax-ext 2063  ax-sep 3896  ax-pow 3948  ax-pr 3964
This theorem depends on definitions:  df-bi 115  df-3an 921  df-tru 1287  df-nf 1390  df-sb 1686  df-eu 1944  df-mo 1945  df-clab 2068  df-cleq 2074  df-clel 2077  df-nfc 2208  df-ral 2353  df-rex 2354  df-rab 2357  df-v 2603  df-sbc 2816  df-csb 2909  df-un 2977  df-in 2979  df-ss 2986  df-pw 3384  df-sn 3404  df-pr 3405  df-op 3407  df-uni 3602  df-br 3786  df-opab 3840  df-mpt 3841  df-id 4048  df-xp 4369  df-rel 4370  df-cnv 4371  df-co 4372  df-dm 4373  df-rn 4374  df-res 4375  df-ima 4376  df-iota 4887  df-fun 4924  df-fn 4925  df-f 4926  df-fv 4930
This theorem is referenced by:  fmptcof  5352  fcompt  5354  fcoconst  5355  ofco  5749
  Copyright terms: Public domain W3C validator