Step | Hyp | Ref
| Expression |
1 | | ee4anv 1915 |
. . . . . . . . 9
⊢ (∃a∃b∃e∃f(∃c∃d(x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ ∃g∃h(x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) ↔ (∃a∃b∃c∃d(x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ ∃e∃f∃g∃h(x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)))) |
2 | | ee4anv 1915 |
. . . . . . . . . . 11
⊢ (∃c∃d∃g∃h((x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ (x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) ↔ (∃c∃d(x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ ∃g∃h(x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)))) |
3 | 2 | 2exbii 1583 |
. . . . . . . . . 10
⊢ (∃e∃f∃c∃d∃g∃h((x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ (x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) ↔ ∃e∃f(∃c∃d(x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ ∃g∃h(x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)))) |
4 | 3 | 2exbii 1583 |
. . . . . . . . 9
⊢ (∃a∃b∃e∃f∃c∃d∃g∃h((x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ (x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) ↔ ∃a∃b∃e∃f(∃c∃d(x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ ∃g∃h(x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)))) |
5 | | brpprod 5840 |
. . . . . . . . . 10
⊢ (x PProd (F, G)y ↔ ∃a∃b∃c∃d(x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd))) |
6 | | brpprod 5840 |
. . . . . . . . . 10
⊢ (x PProd (F, G)z ↔ ∃e∃f∃g∃h(x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) |
7 | 5, 6 | anbi12i 678 |
. . . . . . . . 9
⊢ ((x PProd (F, G)y ∧ x PProd (F, G)z) ↔ (∃a∃b∃c∃d(x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ ∃e∃f∃g∃h(x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)))) |
8 | 1, 4, 7 | 3bitr4ri 269 |
. . . . . . . 8
⊢ ((x PProd (F, G)y ∧ x PProd (F, G)z) ↔ ∃a∃b∃e∃f∃c∃d∃g∃h((x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ (x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)))) |
9 | | an42 798 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (((aFc ∧ bGd) ∧ (aFg ∧ bGh)) ↔ ((aFc ∧ aFg) ∧ (bGh ∧ bGd))) |
10 | | fununiq 5518 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ ((Fun F ∧ aFc ∧ aFg) → c =
g) |
11 | 10 | 3expib 1154 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (Fun F → ((aFc ∧ aFg) → c =
g)) |
12 | | fununiq 5518 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ((Fun G ∧ bGh ∧ bGd) → h =
d) |
13 | 12 | eqcomd 2358 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ ((Fun G ∧ bGh ∧ bGd) → d =
h) |
14 | 13 | 3expib 1154 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (Fun G → ((bGh ∧ bGd) → d =
h)) |
15 | 11, 14 | im2anan9 808 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((Fun F ∧ Fun G) → (((aFc ∧ aFg) ∧ (bGh ∧ bGd)) → (c =
g ∧
d = h))) |
16 | 9, 15 | syl5bi 208 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((Fun F ∧ Fun G) → (((aFc ∧ bGd) ∧ (aFg ∧ bGh)) → (c =
g ∧
d = h))) |
17 | 16 | exp3acom23 1372 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((Fun F ∧ Fun G) → ((aFg ∧ bGh) → ((aFc ∧ bGd) → (c =
g ∧
d = h)))) |
18 | | breq1 4643 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (e = a →
(eFg ↔
aFg)) |
19 | | breq1 4643 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (f = b →
(fGh ↔
bGh)) |
20 | 18, 19 | bi2anan9 843 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((e = a ∧ f = b) → ((eFg ∧ fGh) ↔ (aFg ∧ bGh))) |
21 | 20 | adantr 451 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (((e = a ∧ f = b) ∧ z = 〈g, h〉) → ((eFg ∧ fGh) ↔ (aFg ∧ bGh))) |
22 | | eqeq2 2362 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (z = 〈g, h〉 → (〈c, d〉 = z ↔ 〈c, d〉 = 〈g, h〉)) |
23 | | opth 4603 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (〈c, d〉 = 〈g, h〉 ↔
(c = g
∧ d =
h)) |
24 | 22, 23 | syl6bb 252 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (z = 〈g, h〉 → (〈c, d〉 = z ↔ (c =
g ∧
d = h))) |
25 | 24 | imbi2d 307 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (z = 〈g, h〉 → (((aFc ∧ bGd) → 〈c, d〉 = z) ↔ ((aFc ∧ bGd) → (c =
g ∧
d = h)))) |
26 | 25 | adantl 452 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (((e = a ∧ f = b) ∧ z = 〈g, h〉) → (((aFc ∧ bGd) → 〈c, d〉 = z) ↔ ((aFc ∧ bGd) → (c =
g ∧
d = h)))) |
27 | 21, 26 | imbi12d 311 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (((e = a ∧ f = b) ∧ z = 〈g, h〉) → (((eFg ∧ fGh) → ((aFc ∧ bGd) → 〈c, d〉 = z)) ↔ ((aFg ∧ bGh) → ((aFc ∧ bGd) → (c =
g ∧
d = h))))) |
28 | 17, 27 | syl5ibrcom 213 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((Fun F ∧ Fun G) → (((e =
a ∧
f = b)
∧ z =
〈g,
h〉)
→ ((eFg ∧ fGh) →
((aFc ∧ bGd) → 〈c, d〉 = z)))) |
29 | 28 | exp3a 425 |
. . . . . . . . . . . . . . . . . 18
⊢ ((Fun F ∧ Fun G) → ((e =
a ∧
f = b)
→ (z = 〈g, h〉 →
((eFg ∧ fGh) →
((aFc ∧ bGd) → 〈c, d〉 = z))))) |
30 | 29 | 3impd 1165 |
. . . . . . . . . . . . . . . . 17
⊢ ((Fun F ∧ Fun G) → (((e =
a ∧
f = b)
∧ z =
〈g,
h〉 ∧ (eFg ∧ fGh)) →
((aFc ∧ bGd) → 〈c, d〉 = z))) |
31 | 30 | com23 72 |
. . . . . . . . . . . . . . . 16
⊢ ((Fun F ∧ Fun G) → ((aFc ∧ bGd) → (((e =
a ∧
f = b)
∧ z =
〈g,
h〉 ∧ (eFg ∧ fGh)) →
〈c,
d〉 =
z))) |
32 | | eqeq1 2359 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (x = 〈a, b〉 → (x =
〈e,
f〉 ↔
〈a,
b〉 =
〈e,
f〉)) |
33 | | eqcom 2355 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (〈a, b〉 = 〈e, f〉 ↔ 〈e, f〉 = 〈a, b〉) |
34 | | opth 4603 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (〈e, f〉 = 〈a, b〉 ↔
(e = a
∧ f =
b)) |
35 | 33, 34 | bitri 240 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (〈a, b〉 = 〈e, f〉 ↔
(e = a
∧ f =
b)) |
36 | 32, 35 | syl6bb 252 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (x = 〈a, b〉 → (x =
〈e,
f〉 ↔
(e = a
∧ f =
b))) |
37 | 36 | 3anbi1d 1256 |
. . . . . . . . . . . . . . . . . . 19
⊢ (x = 〈a, b〉 → ((x =
〈e,
f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)) ↔
((e = a
∧ f =
b) ∧
z = 〈g, h〉 ∧ (eFg ∧ fGh)))) |
38 | 37 | adantr 451 |
. . . . . . . . . . . . . . . . . 18
⊢ ((x = 〈a, b〉 ∧ y = 〈c, d〉) → ((x =
〈e,
f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)) ↔
((e = a
∧ f =
b) ∧
z = 〈g, h〉 ∧ (eFg ∧ fGh)))) |
39 | | eqeq1 2359 |
. . . . . . . . . . . . . . . . . . 19
⊢ (y = 〈c, d〉 → (y =
z ↔ 〈c, d〉 = z)) |
40 | 39 | adantl 452 |
. . . . . . . . . . . . . . . . . 18
⊢ ((x = 〈a, b〉 ∧ y = 〈c, d〉) → (y =
z ↔ 〈c, d〉 = z)) |
41 | 38, 40 | imbi12d 311 |
. . . . . . . . . . . . . . . . 17
⊢ ((x = 〈a, b〉 ∧ y = 〈c, d〉) → (((x
= 〈e,
f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)) →
y = z)
↔ (((e = a ∧ f = b) ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)) →
〈c,
d〉 =
z))) |
42 | 41 | imbi2d 307 |
. . . . . . . . . . . . . . . 16
⊢ ((x = 〈a, b〉 ∧ y = 〈c, d〉) → (((aFc ∧ bGd) → ((x =
〈e,
f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)) →
y = z))
↔ ((aFc ∧ bGd) →
(((e = a ∧ f = b) ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)) →
〈c,
d〉 =
z)))) |
43 | 31, 42 | syl5ibrcom 213 |
. . . . . . . . . . . . . . 15
⊢ ((Fun F ∧ Fun G) → ((x =
〈a,
b〉 ∧ y = 〈c, d〉) →
((aFc ∧ bGd) →
((x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)) →
y = z)))) |
44 | 43 | exp3a 425 |
. . . . . . . . . . . . . 14
⊢ ((Fun F ∧ Fun G) → (x =
〈a,
b〉 →
(y = 〈c, d〉 →
((aFc ∧ bGd) →
((x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)) →
y = z))))) |
45 | 44 | 3impd 1165 |
. . . . . . . . . . . . 13
⊢ ((Fun F ∧ Fun G) → ((x =
〈a,
b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) →
((x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh)) →
y = z))) |
46 | 45 | imp3a 420 |
. . . . . . . . . . . 12
⊢ ((Fun F ∧ Fun G) → (((x =
〈a,
b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ (x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) →
y = z)) |
47 | 46 | exlimdvv 1637 |
. . . . . . . . . . 11
⊢ ((Fun F ∧ Fun G) → (∃g∃h((x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ (x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) → y =
z)) |
48 | 47 | exlimdvv 1637 |
. . . . . . . . . 10
⊢ ((Fun F ∧ Fun G) → (∃c∃d∃g∃h((x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ (x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) → y =
z)) |
49 | 48 | exlimdvv 1637 |
. . . . . . . . 9
⊢ ((Fun F ∧ Fun G) → (∃e∃f∃c∃d∃g∃h((x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ (x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) → y =
z)) |
50 | 49 | exlimdvv 1637 |
. . . . . . . 8
⊢ ((Fun F ∧ Fun G) → (∃a∃b∃e∃f∃c∃d∃g∃h((x = 〈a, b〉 ∧ y = 〈c, d〉 ∧ (aFc ∧ bGd)) ∧ (x = 〈e, f〉 ∧ z = 〈g, h〉 ∧ (eFg ∧ fGh))) → y =
z)) |
51 | 8, 50 | syl5bi 208 |
. . . . . . 7
⊢ ((Fun F ∧ Fun G) → ((x
PProd (F,
G)y
∧ x PProd (F, G)z) →
y = z)) |
52 | 51 | alrimiv 1631 |
. . . . . 6
⊢ ((Fun F ∧ Fun G) → ∀z((x PProd (F, G)y ∧ x PProd (F, G)z) → y =
z)) |
53 | 52 | alrimivv 1632 |
. . . . 5
⊢ ((Fun F ∧ Fun G) → ∀x∀y∀z((x PProd (F, G)y ∧ x PProd (F, G)z) → y =
z)) |
54 | | dffun2 5120 |
. . . . 5
⊢ (Fun PProd (F, G) ↔ ∀x∀y∀z((x PProd (F, G)y ∧ x PProd (F, G)z) → y =
z)) |
55 | 53, 54 | sylibr 203 |
. . . 4
⊢ ((Fun F ∧ Fun G) → Fun PProd
(F, G)) |
56 | | dmpprod 5841 |
. . . . 5
⊢ dom PProd (F, G) = (dom F
× dom G) |
57 | | xpeq12 4804 |
. . . . 5
⊢ ((dom F = A ∧ dom G =
B) → (dom F × dom G)
= (A × B)) |
58 | 56, 57 | syl5eq 2397 |
. . . 4
⊢ ((dom F = A ∧ dom G =
B) → dom PProd (F, G) = (A ×
B)) |
59 | 55, 58 | anim12i 549 |
. . 3
⊢ (((Fun F ∧ Fun G) ∧ (dom F = A ∧ dom G =
B)) → (Fun PProd (F, G) ∧ dom PProd (F, G) = (A ×
B))) |
60 | 59 | an4s 799 |
. 2
⊢ (((Fun F ∧ dom F = A) ∧ (Fun G ∧ dom G =
B)) → (Fun PProd (F, G) ∧ dom PProd (F, G) = (A ×
B))) |
61 | | df-fn 4791 |
. . 3
⊢ (F Fn A ↔
(Fun F ∧
dom F = A)) |
62 | | df-fn 4791 |
. . 3
⊢ (G Fn B ↔
(Fun G ∧
dom G = B)) |
63 | 61, 62 | anbi12i 678 |
. 2
⊢ ((F Fn A ∧ G Fn B) ↔ ((Fun F ∧ dom F = A) ∧ (Fun G ∧ dom G =
B))) |
64 | | df-fn 4791 |
. 2
⊢ ( PProd (F, G) Fn (A ×
B) ↔ (Fun PProd (F, G) ∧ dom PProd (F, G) = (A ×
B))) |
65 | 60, 63, 64 | 3imtr4i 257 |
1
⊢ ((F Fn A ∧ G Fn B) → PProd
(F, G)
Fn (A × B)) |