Step | Hyp | Ref | Expression |
1 |
|
bitr3 |
(E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> a : l1, l2 e. all2 R) ->
(E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) ->
(a : l1, l2 e. all2 R <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) |
2 |
|
bian1a |
(a : l1, l2 e. all2 R -> E. b E. l2_ l2 = b : l2_) -> (E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> a : l1, l2 e. all2 R) |
3 |
|
excons |
l2 != 0 <-> E. b E. l2_ l2 = b : l2_ |
4 |
|
noteq |
(len l2 = 0 <-> l2 = 0) -> (~len l2 = 0 <-> ~l2 = 0) |
5 |
4 |
conv ne |
(len l2 = 0 <-> l2 = 0) -> (~len l2 = 0 <-> l2 != 0) |
6 |
|
leneq0 |
len l2 = 0 <-> l2 = 0 |
7 |
5, 6 |
ax_mp |
~len l2 = 0 <-> l2 != 0 |
8 |
|
peano1 |
suc (len l1) != 0 |
9 |
|
lenS |
len (a : l1) = suc (len l1) |
10 |
|
all2len |
a : l1, l2 e. all2 R -> len (a : l1) = len l2 |
11 |
9, 10 |
syl5eqr |
a : l1, l2 e. all2 R -> suc (len l1) = len l2 |
12 |
11 |
neeq1d |
a : l1, l2 e. all2 R -> (suc (len l1) != 0 <-> len l2 != 0) |
13 |
12 |
conv ne |
a : l1, l2 e. all2 R -> (suc (len l1) != 0 <-> ~len l2 = 0) |
14 |
8, 13 |
mpbii |
a : l1, l2 e. all2 R -> ~len l2 = 0 |
15 |
7, 14 |
sylib |
a : l1, l2 e. all2 R -> l2 != 0 |
16 |
3, 15 |
sylib |
a : l1, l2 e. all2 R -> E. b E. l2_ l2 = b : l2_ |
17 |
2, 16 |
ax_mp |
E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> a : l1, l2 e. all2 R |
18 |
1, 17 |
ax_mp |
(E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) ->
(a : l1, l2 e. all2 R <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) |
19 |
|
bitr3 |
(E. b (E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R) ->
(E. b (E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) ->
(E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) |
20 |
|
exan2 |
E. b (E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R |
21 |
19, 20 |
ax_mp |
(E. b (E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) ->
(E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) |
22 |
|
bitr3 |
(E. l2_ (l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R) ->
(E. l2_ (l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) ->
(E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) |
23 |
|
exan2 |
E. l2_ (l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R |
24 |
22, 23 |
ax_mp |
(E. l2_ (l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) ->
(E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R))) |
25 |
|
aneq2a |
(l2 = b : l2_ -> (a : l1, l2 e. all2 R <-> a, b e. R /\ l1, l2_ e. all2 R)) ->
(l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R)) |
26 |
|
all2S |
a : l1, b : l2_ e. all2 R <-> a, b e. R /\ l1, l2_ e. all2 R |
27 |
|
preq2 |
l2 = b : l2_ -> a : l1, l2 = a : l1, b : l2_ |
28 |
27 |
eleq1d |
l2 = b : l2_ -> (a : l1, l2 e. all2 R <-> a : l1, b : l2_ e. all2 R) |
29 |
26, 28 |
syl6bb |
l2 = b : l2_ -> (a : l1, l2 e. all2 R <-> a, b e. R /\ l1, l2_ e. all2 R) |
30 |
25, 29 |
ax_mp |
l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R) |
31 |
30 |
exeqi |
E. l2_ (l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R)) |
32 |
24, 31 |
ax_mp |
E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R)) |
33 |
32 |
exeqi |
E. b (E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R) <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R)) |
34 |
21, 33 |
ax_mp |
E. b E. l2_ l2 = b : l2_ /\ a : l1, l2 e. all2 R <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R)) |
35 |
18, 34 |
ax_mp |
a : l1, l2 e. all2 R <-> E. b E. l2_ (l2 = b : l2_ /\ (a, b e. R /\ l1, l2_ e. all2 R)) |