Step | Hyp | Ref | Expression |
1 |
|
bitr3 |
(fst a, snd a e. S\ x, B <-> snd a e. S[fst a / x] B) -> (fst a, snd a e. S\ x, B <-> a e. S\ x, B) -> (snd a e. S[fst a / x] B <-> a e. S\ x, B) |
2 |
|
elsabs |
fst a, snd a e. S\ x, B <-> snd a e. S[fst a / x] B |
3 |
1, 2 |
ax_mp |
(fst a, snd a e. S\ x, B <-> a e. S\ x, B) -> (snd a e. S[fst a / x] B <-> a e. S\ x, B) |
4 |
|
eleq1 |
fst a, snd a = a -> (fst a, snd a e. S\ x, B <-> a e. S\ x, B) |
5 |
|
fstsnd |
fst a, snd a = a |
6 |
4, 5 |
ax_mp |
fst a, snd a e. S\ x, B <-> a e. S\ x, B |
7 |
3, 6 |
ax_mp |
snd a e. S[fst a / x] B <-> a e. S\ x, B |
8 |
|
elxp |
a e. Xp A C <-> fst a e. A /\ snd a e. C |
9 |
8 |
aneq2i |
p /\ a e. Xp A C <-> p /\ (fst a e. A /\ snd a e. C) |
10 |
|
ax_6 |
E. x x = fst a |
11 |
|
nfv |
F/ x G |
12 |
|
nfsbs1 |
FS/ x S[fst a / x] B |
13 |
12 |
nfel2 |
F/ x snd a e. S[fst a / x] B |
14 |
|
nfv |
F/ x p /\ (fst a e. A /\ snd a e. C) |
15 |
13, 14 |
nfim |
F/ x snd a e. S[fst a / x] B -> p /\ (fst a e. A /\ snd a e. C) |
16 |
|
sbsq |
x = fst a -> B == S[fst a / x] B |
17 |
16 |
eleq2d |
x = fst a -> (snd a e. B <-> snd a e. S[fst a / x] B) |
18 |
|
anass |
p /\ fst a e. A /\ snd a e. C <-> p /\ (fst a e. A /\ snd a e. C) |
19 |
|
eleq1 |
x = fst a -> (x e. A <-> fst a e. A) |
20 |
19 |
aneq2d |
x = fst a -> (p /\ x e. A <-> p /\ fst a e. A) |
21 |
20 |
aneq1d |
x = fst a -> (p /\ x e. A /\ snd a e. C <-> p /\ fst a e. A /\ snd a e. C) |
22 |
18, 21 |
syl6bb |
x = fst a -> (p /\ x e. A /\ snd a e. C <-> p /\ (fst a e. A /\ snd a e. C)) |
23 |
17, 22 |
imeqd |
x = fst a -> (snd a e. B -> p /\ x e. A /\ snd a e. C <-> snd a e. S[fst a / x] B -> p /\ (fst a e. A /\ snd a e. C)) |
24 |
23 |
anwr |
G /\ x = fst a -> (snd a e. B -> p /\ x e. A /\ snd a e. C <-> snd a e. S[fst a / x] B -> p /\ (fst a e. A /\ snd a e. C)) |
25 |
|
hyp h |
G /\ x = fst a -> snd a e. B -> p /\ x e. A /\ snd a e. C |
26 |
24, 25 |
mpbid |
G /\ x = fst a -> snd a e. S[fst a / x] B -> p /\ (fst a e. A /\ snd a e. C) |
27 |
26 |
exp |
G -> x = fst a -> snd a e. S[fst a / x] B -> p /\ (fst a e. A /\ snd a e. C) |
28 |
11, 15, 27 |
eexdh |
G -> E. x x = fst a -> snd a e. S[fst a / x] B -> p /\ (fst a e. A /\ snd a e. C) |
29 |
10, 28 |
mpi |
G -> snd a e. S[fst a / x] B -> p /\ (fst a e. A /\ snd a e. C) |
30 |
9, 29 |
syl6ibr |
G -> snd a e. S[fst a / x] B -> p /\ a e. Xp A C |
31 |
7, 30 |
syl5bir |
G -> a e. S\ x, B -> p /\ a e. Xp A C |