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

Theorem fmptco 5382
 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 4869 . 2 Rel (𝐺𝐹)
2 funmpt 4988 . . 3 Fun (𝑥𝐴𝑇)
3 funrel 4969 . . 3 (Fun (𝑥𝐴𝑇) → Rel (𝑥𝐴𝑇))
42, 3ax-mp 7 . 2 Rel (𝑥𝐴𝑇)
5 fmptco.1 . . . . . . . . . . . . 13 ((𝜑𝑥𝐴) → 𝑅𝐵)
6 eqid 2083 . . . . . . . . . . . . 13 (𝑥𝐴𝑅) = (𝑥𝐴𝑅)
75, 6fmptd 5374 . . . . . . . . . . . 12 (𝜑 → (𝑥𝐴𝑅):𝐴𝐵)
8 fmptco.2 . . . . . . . . . . . . 13 (𝜑𝐹 = (𝑥𝐴𝑅))
98feq1d 5085 . . . . . . . . . . . 12 (𝜑 → (𝐹:𝐴𝐵 ↔ (𝑥𝐴𝑅):𝐴𝐵))
107, 9mpbird 165 . . . . . . . . . . 11 (𝜑𝐹:𝐴𝐵)
11 ffun 5099 . . . . . . . . . . 11 (𝐹:𝐴𝐵 → Fun 𝐹)
1210, 11syl 14 . . . . . . . . . 10 (𝜑 → Fun 𝐹)
13 funbrfv 5264 . . . . . . . . . . 11 (Fun 𝐹 → (𝑧𝐹𝑢 → (𝐹𝑧) = 𝑢))
1413imp 122 . . . . . . . . . 10 ((Fun 𝐹𝑧𝐹𝑢) → (𝐹𝑧) = 𝑢)
1512, 14sylan 277 . . . . . . . . 9 ((𝜑𝑧𝐹𝑢) → (𝐹𝑧) = 𝑢)
1615eqcomd 2088 . . . . . . . 8 ((𝜑𝑧𝐹𝑢) → 𝑢 = (𝐹𝑧))
1716a1d 22 . . . . . . 7 ((𝜑𝑧𝐹𝑢) → (𝑢𝐺𝑤𝑢 = (𝐹𝑧)))
1817expimpd 355 . . . . . 6 (𝜑 → ((𝑧𝐹𝑢𝑢𝐺𝑤) → 𝑢 = (𝐹𝑧)))
1918pm4.71rd 386 . . . . 5 (𝜑 → ((𝑧𝐹𝑢𝑢𝐺𝑤) ↔ (𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤))))
2019exbidv 1748 . . . 4 (𝜑 → (∃𝑢(𝑧𝐹𝑢𝑢𝐺𝑤) ↔ ∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤))))
21 exsimpl 1549 . . . . . . 7 (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) → ∃𝑢 𝑢 = (𝐹𝑧))
22 isset 2614 . . . . . . 7 ((𝐹𝑧) ∈ V ↔ ∃𝑢 𝑢 = (𝐹𝑧))
2321, 22sylibr 132 . . . . . 6 (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) → (𝐹𝑧) ∈ V)
2423a1i 9 . . . . 5 (𝜑 → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) → (𝐹𝑧) ∈ V))
2512adantr 270 . . . . . . . 8 ((𝜑𝑧𝐴) → Fun 𝐹)
26 fdm 5101 . . . . . . . . . . 11 (𝐹:𝐴𝐵 → dom 𝐹 = 𝐴)
2710, 26syl 14 . . . . . . . . . 10 (𝜑 → dom 𝐹 = 𝐴)
2827eleq2d 2152 . . . . . . . . 9 (𝜑 → (𝑧 ∈ dom 𝐹𝑧𝐴))
2928biimpar 291 . . . . . . . 8 ((𝜑𝑧𝐴) → 𝑧 ∈ dom 𝐹)
30 funfvex 5243 . . . . . . . 8 ((Fun 𝐹𝑧 ∈ dom 𝐹) → (𝐹𝑧) ∈ V)
3125, 29, 30syl2anc 403 . . . . . . 7 ((𝜑𝑧𝐴) → (𝐹𝑧) ∈ V)
3231adantrr 463 . . . . . 6 ((𝜑 ∧ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)) → (𝐹𝑧) ∈ V)
3332ex 113 . . . . 5 (𝜑 → ((𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇) → (𝐹𝑧) ∈ V))
34 breq2 3809 . . . . . . . . 9 (𝑢 = (𝐹𝑧) → (𝑧𝐹𝑢𝑧𝐹(𝐹𝑧)))
35 breq1 3808 . . . . . . . . 9 (𝑢 = (𝐹𝑧) → (𝑢𝐺𝑤 ↔ (𝐹𝑧)𝐺𝑤))
3634, 35anbi12d 457 . . . . . . . 8 (𝑢 = (𝐹𝑧) → ((𝑧𝐹𝑢𝑢𝐺𝑤) ↔ (𝑧𝐹(𝐹𝑧) ∧ (𝐹𝑧)𝐺𝑤)))
3736ceqsexgv 2732 . . . . . . 7 ((𝐹𝑧) ∈ V → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) ↔ (𝑧𝐹(𝐹𝑧) ∧ (𝐹𝑧)𝐺𝑤)))
38 funfvbrb 5332 . . . . . . . . . . 11 (Fun 𝐹 → (𝑧 ∈ dom 𝐹𝑧𝐹(𝐹𝑧)))
3912, 38syl 14 . . . . . . . . . 10 (𝜑 → (𝑧 ∈ dom 𝐹𝑧𝐹(𝐹𝑧)))
4039, 28bitr3d 188 . . . . . . . . 9 (𝜑 → (𝑧𝐹(𝐹𝑧) ↔ 𝑧𝐴))
418fveq1d 5231 . . . . . . . . . 10 (𝜑 → (𝐹𝑧) = ((𝑥𝐴𝑅)‘𝑧))
42 fmptco.3 . . . . . . . . . 10 (𝜑𝐺 = (𝑦𝐵𝑆))
43 eqidd 2084 . . . . . . . . . 10 (𝜑𝑤 = 𝑤)
4441, 42, 43breq123d 3819 . . . . . . . . 9 (𝜑 → ((𝐹𝑧)𝐺𝑤 ↔ ((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤))
4540, 44anbi12d 457 . . . . . . . 8 (𝜑 → ((𝑧𝐹(𝐹𝑧) ∧ (𝐹𝑧)𝐺𝑤) ↔ (𝑧𝐴 ∧ ((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤)))
46 nfcv 2223 . . . . . . . . . . 11 𝑥𝑧
47 nfv 1462 . . . . . . . . . . . 12 𝑥𝜑
48 nffvmpt1 5237 . . . . . . . . . . . . . 14 𝑥((𝑥𝐴𝑅)‘𝑧)
49 nfcv 2223 . . . . . . . . . . . . . 14 𝑥(𝑦𝐵𝑆)
50 nfcv 2223 . . . . . . . . . . . . . 14 𝑥𝑤
5148, 49, 50nfbr 3849 . . . . . . . . . . . . 13 𝑥((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤
52 nfcsb1v 2947 . . . . . . . . . . . . . 14 𝑥𝑧 / 𝑥𝑇
5352nfeq2 2234 . . . . . . . . . . . . 13 𝑥 𝑤 = 𝑧 / 𝑥𝑇
5451, 53nfbi 1522 . . . . . . . . . . . 12 𝑥(((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇)
5547, 54nfim 1505 . . . . . . . . . . 11 𝑥(𝜑 → (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇))
56 fveq2 5229 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → ((𝑥𝐴𝑅)‘𝑥) = ((𝑥𝐴𝑅)‘𝑧))
5756breq1d 3815 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤 ↔ ((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤))
58 csbeq1a 2925 . . . . . . . . . . . . . 14 (𝑥 = 𝑧𝑇 = 𝑧 / 𝑥𝑇)
5958eqeq2d 2094 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑤 = 𝑇𝑤 = 𝑧 / 𝑥𝑇))
6057, 59bibi12d 233 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑤 = 𝑇) ↔ (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇)))
6160imbi2d 228 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((𝜑 → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑤 = 𝑇)) ↔ (𝜑 → (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇))))
62 vex 2613 . . . . . . . . . . . . . 14 𝑤 ∈ V
63 simpl 107 . . . . . . . . . . . . . . . . 17 ((𝑦 = 𝑅𝑢 = 𝑤) → 𝑦 = 𝑅)
6463eleq1d 2151 . . . . . . . . . . . . . . . 16 ((𝑦 = 𝑅𝑢 = 𝑤) → (𝑦𝐵𝑅𝐵))
65 simpr 108 . . . . . . . . . . . . . . . . 17 ((𝑦 = 𝑅𝑢 = 𝑤) → 𝑢 = 𝑤)
66 fmptco.4 . . . . . . . . . . . . . . . . . 18 (𝑦 = 𝑅𝑆 = 𝑇)
6766adantr 270 . . . . . . . . . . . . . . . . 17 ((𝑦 = 𝑅𝑢 = 𝑤) → 𝑆 = 𝑇)
6865, 67eqeq12d 2097 . . . . . . . . . . . . . . . 16 ((𝑦 = 𝑅𝑢 = 𝑤) → (𝑢 = 𝑆𝑤 = 𝑇))
6964, 68anbi12d 457 . . . . . . . . . . . . . . 15 ((𝑦 = 𝑅𝑢 = 𝑤) → ((𝑦𝐵𝑢 = 𝑆) ↔ (𝑅𝐵𝑤 = 𝑇)))
70 df-mpt 3861 . . . . . . . . . . . . . . 15 (𝑦𝐵𝑆) = {⟨𝑦, 𝑢⟩ ∣ (𝑦𝐵𝑢 = 𝑆)}
7169, 70brabga 4047 . . . . . . . . . . . . . 14 ((𝑅𝐵𝑤 ∈ V) → (𝑅(𝑦𝐵𝑆)𝑤 ↔ (𝑅𝐵𝑤 = 𝑇)))
725, 62, 71sylancl 404 . . . . . . . . . . . . 13 ((𝜑𝑥𝐴) → (𝑅(𝑦𝐵𝑆)𝑤 ↔ (𝑅𝐵𝑤 = 𝑇)))
73 simpr 108 . . . . . . . . . . . . . . 15 ((𝜑𝑥𝐴) → 𝑥𝐴)
746fvmpt2 5306 . . . . . . . . . . . . . . 15 ((𝑥𝐴𝑅𝐵) → ((𝑥𝐴𝑅)‘𝑥) = 𝑅)
7573, 5, 74syl2anc 403 . . . . . . . . . . . . . 14 ((𝜑𝑥𝐴) → ((𝑥𝐴𝑅)‘𝑥) = 𝑅)
7675breq1d 3815 . . . . . . . . . . . . 13 ((𝜑𝑥𝐴) → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑅(𝑦𝐵𝑆)𝑤))
775biantrurd 299 . . . . . . . . . . . . 13 ((𝜑𝑥𝐴) → (𝑤 = 𝑇 ↔ (𝑅𝐵𝑤 = 𝑇)))
7872, 76, 773bitr4d 218 . . . . . . . . . . . 12 ((𝜑𝑥𝐴) → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑤 = 𝑇))
7978expcom 114 . . . . . . . . . . 11 (𝑥𝐴 → (𝜑 → (((𝑥𝐴𝑅)‘𝑥)(𝑦𝐵𝑆)𝑤𝑤 = 𝑇)))
8046, 55, 61, 79vtoclgaf 2672 . . . . . . . . . 10 (𝑧𝐴 → (𝜑 → (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇)))
8180impcom 123 . . . . . . . . 9 ((𝜑𝑧𝐴) → (((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤𝑤 = 𝑧 / 𝑥𝑇))
8281pm5.32da 440 . . . . . . . 8 (𝜑 → ((𝑧𝐴 ∧ ((𝑥𝐴𝑅)‘𝑧)(𝑦𝐵𝑆)𝑤) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
8345, 82bitrd 186 . . . . . . 7 (𝜑 → ((𝑧𝐹(𝐹𝑧) ∧ (𝐹𝑧)𝐺𝑤) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
8437, 83sylan9bbr 451 . . . . . 6 ((𝜑 ∧ (𝐹𝑧) ∈ V) → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
8584ex 113 . . . . 5 (𝜑 → ((𝐹𝑧) ∈ V → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇))))
8624, 33, 85pm5.21ndd 654 . . . 4 (𝜑 → (∃𝑢(𝑢 = (𝐹𝑧) ∧ (𝑧𝐹𝑢𝑢𝐺𝑤)) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
8720, 86bitrd 186 . . 3 (𝜑 → (∃𝑢(𝑧𝐹𝑢𝑢𝐺𝑤) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
88 vex 2613 . . . 4 𝑧 ∈ V
8988, 62opelco 4555 . . 3 (⟨𝑧, 𝑤⟩ ∈ (𝐺𝐹) ↔ ∃𝑢(𝑧𝐹𝑢𝑢𝐺𝑤))
90 df-mpt 3861 . . . . 5 (𝑥𝐴𝑇) = {⟨𝑥, 𝑣⟩ ∣ (𝑥𝐴𝑣 = 𝑇)}
9190eleq2i 2149 . . . 4 (⟨𝑧, 𝑤⟩ ∈ (𝑥𝐴𝑇) ↔ ⟨𝑧, 𝑤⟩ ∈ {⟨𝑥, 𝑣⟩ ∣ (𝑥𝐴𝑣 = 𝑇)})
92 nfv 1462 . . . . . 6 𝑥 𝑧𝐴
9352nfeq2 2234 . . . . . 6 𝑥 𝑣 = 𝑧 / 𝑥𝑇
9492, 93nfan 1498 . . . . 5 𝑥(𝑧𝐴𝑣 = 𝑧 / 𝑥𝑇)
95 nfv 1462 . . . . 5 𝑣(𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)
96 eleq1 2145 . . . . . 6 (𝑥 = 𝑧 → (𝑥𝐴𝑧𝐴))
9758eqeq2d 2094 . . . . . 6 (𝑥 = 𝑧 → (𝑣 = 𝑇𝑣 = 𝑧 / 𝑥𝑇))
9896, 97anbi12d 457 . . . . 5 (𝑥 = 𝑧 → ((𝑥𝐴𝑣 = 𝑇) ↔ (𝑧𝐴𝑣 = 𝑧 / 𝑥𝑇)))
99 eqeq1 2089 . . . . . 6 (𝑣 = 𝑤 → (𝑣 = 𝑧 / 𝑥𝑇𝑤 = 𝑧 / 𝑥𝑇))
10099anbi2d 452 . . . . 5 (𝑣 = 𝑤 → ((𝑧𝐴𝑣 = 𝑧 / 𝑥𝑇) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇)))
10194, 95, 88, 62, 98, 100opelopabf 4057 . . . 4 (⟨𝑧, 𝑤⟩ ∈ {⟨𝑥, 𝑣⟩ ∣ (𝑥𝐴𝑣 = 𝑇)} ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇))
10291, 101bitri 182 . . 3 (⟨𝑧, 𝑤⟩ ∈ (𝑥𝐴𝑇) ↔ (𝑧𝐴𝑤 = 𝑧 / 𝑥𝑇))
10387, 89, 1023bitr4g 221 . 2 (𝜑 → (⟨𝑧, 𝑤⟩ ∈ (𝐺𝐹) ↔ ⟨𝑧, 𝑤⟩ ∈ (𝑥𝐴𝑇)))
1041, 4, 103eqrelrdv 4482 1 (𝜑 → (𝐺𝐹) = (𝑥𝐴𝑇))
 Colors of variables: wff set class Syntax hints:   → wi 4   ∧ wa 102   ↔ wb 103   = wceq 1285  ∃wex 1422   ∈ wcel 1434  Vcvv 2610  ⦋csb 2917  ⟨cop 3419   class class class wbr 3805  {copab 3858   ↦ cmpt 3859  dom cdm 4391   ∘ ccom 4395  Rel wrel 4396  Fun wfun 4946  ⟶wf 4948  ‘cfv 4952 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 663  ax-5 1377  ax-7 1378  ax-gen 1379  ax-ie1 1423  ax-ie2 1424  ax-8 1436  ax-10 1437  ax-11 1438  ax-i12 1439  ax-bndl 1440  ax-4 1441  ax-14 1446  ax-17 1460  ax-i9 1464  ax-ial 1468  ax-i5r 1469  ax-ext 2065  ax-sep 3916  ax-pow 3968  ax-pr 3992 This theorem depends on definitions:  df-bi 115  df-3an 922  df-tru 1288  df-nf 1391  df-sb 1688  df-eu 1946  df-mo 1947  df-clab 2070  df-cleq 2076  df-clel 2079  df-nfc 2212  df-ral 2358  df-rex 2359  df-rab 2362  df-v 2612  df-sbc 2825  df-csb 2918  df-un 2986  df-in 2988  df-ss 2995  df-pw 3402  df-sn 3422  df-pr 3423  df-op 3425  df-uni 3622  df-br 3806  df-opab 3860  df-mpt 3861  df-id 4076  df-xp 4397  df-rel 4398  df-cnv 4399  df-co 4400  df-dm 4401  df-rn 4402  df-res 4403  df-ima 4404  df-iota 4917  df-fun 4954  df-fn 4955  df-f 4956  df-fv 4960 This theorem is referenced by:  fmptcof  5383  fcompt  5385  fcoconst  5386  ofco  5780
 Copyright terms: Public domain W3C validator