| Step | Hyp | Ref | Expression |
| 1 |
|
bitr3 |
(~rev l = 0 <-> l != 0) -> (~rev l = 0 <-> E. l2 E. a l = l2 |> a) -> (l != 0 <-> E. l2 E. a l = l2 |> a) |
| 2 |
|
noteq |
(rev l = 0 <-> l = 0) -> (~rev l = 0 <-> ~l = 0) |
| 3 |
2 |
conv ne |
(rev l = 0 <-> l = 0) -> (~rev l = 0 <-> l != 0) |
| 4 |
|
reveq0 |
rev l = 0 <-> l = 0 |
| 5 |
3, 4 |
ax_mp |
~rev l = 0 <-> l != 0 |
| 6 |
1, 5 |
ax_mp |
(~rev l = 0 <-> E. l2 E. a l = l2 |> a) -> (l != 0 <-> E. l2 E. a l = l2 |> a) |
| 7 |
|
bitr |
(~rev l = 0 <-> E. a E. a1 rev l = a : a1) -> (E. a E. a1 rev l = a : a1 <-> E. l2 E. a l = l2 |> a) -> (~rev l = 0 <-> E. l2 E. a l = l2 |> a) |
| 8 |
|
excons |
rev l != 0 <-> E. a E. a1 rev l = a : a1 |
| 9 |
8 |
conv ne |
~rev l = 0 <-> E. a E. a1 rev l = a : a1 |
| 10 |
7, 9 |
ax_mp |
(E. a E. a1 rev l = a : a1 <-> E. l2 E. a l = l2 |> a) -> (~rev l = 0 <-> E. l2 E. a l = l2 |> a) |
| 11 |
|
bitr |
(E. a1 rev l = a : a1 <-> E. a1 l = rev a1 |> a) -> (E. a1 l = rev a1 |> a <-> E. l2 l = l2 |> a) -> (E. a1 rev l = a : a1 <-> E. l2 l = l2 |> a) |
| 12 |
|
bitr |
(rev l = a : a1 <-> rev l = rev (rev a1 |> a)) -> (rev l = rev (rev a1 |> a) <-> l = rev a1 |> a) -> (rev l = a : a1 <-> l = rev a1 |> a) |
| 13 |
|
eqeq2 |
a : a1 = rev (rev a1 |> a) -> (rev l = a : a1 <-> rev l = rev (rev a1 |> a)) |
| 14 |
|
eqtr3 |
rev (rev (a : a1)) = a : a1 -> rev (rev (a : a1)) = rev (rev a1 |> a) -> a : a1 = rev (rev a1 |> a) |
| 15 |
|
revrev |
rev (rev (a : a1)) = a : a1 |
| 16 |
14, 15 |
ax_mp |
rev (rev (a : a1)) = rev (rev a1 |> a) -> a : a1 = rev (rev a1 |> a) |
| 17 |
|
reveq |
rev (a : a1) = rev a1 |> a -> rev (rev (a : a1)) = rev (rev a1 |> a) |
| 18 |
|
revS |
rev (a : a1) = rev a1 |> a |
| 19 |
17, 18 |
ax_mp |
rev (rev (a : a1)) = rev (rev a1 |> a) |
| 20 |
16, 19 |
ax_mp |
a : a1 = rev (rev a1 |> a) |
| 21 |
13, 20 |
ax_mp |
rev l = a : a1 <-> rev l = rev (rev a1 |> a) |
| 22 |
12, 21 |
ax_mp |
(rev l = rev (rev a1 |> a) <-> l = rev a1 |> a) -> (rev l = a : a1 <-> l = rev a1 |> a) |
| 23 |
|
revinj |
rev l = rev (rev a1 |> a) <-> l = rev a1 |> a |
| 24 |
22, 23 |
ax_mp |
rev l = a : a1 <-> l = rev a1 |> a |
| 25 |
24 |
exeqi |
E. a1 rev l = a : a1 <-> E. a1 l = rev a1 |> a |
| 26 |
11, 25 |
ax_mp |
(E. a1 l = rev a1 |> a <-> E. l2 l = l2 |> a) -> (E. a1 rev l = a : a1 <-> E. l2 l = l2 |> a) |
| 27 |
|
snoceq1 |
l2 = rev a1 -> l2 |> a = rev a1 |> a |
| 28 |
27 |
eqeq2d |
l2 = rev a1 -> (l = l2 |> a <-> l = rev a1 |> a) |
| 29 |
28 |
iexe |
l = rev a1 |> a -> E. l2 l = l2 |> a |
| 30 |
29 |
eex |
E. a1 l = rev a1 |> a -> E. l2 l = l2 |> a |
| 31 |
|
revrev |
rev (rev l2) = l2 |
| 32 |
|
reveq |
a1 = rev l2 -> rev a1 = rev (rev l2) |
| 33 |
31, 32 |
syl6eq |
a1 = rev l2 -> rev a1 = l2 |
| 34 |
33 |
snoceq1d |
a1 = rev l2 -> rev a1 |> a = l2 |> a |
| 35 |
34 |
eqeq2d |
a1 = rev l2 -> (l = rev a1 |> a <-> l = l2 |> a) |
| 36 |
35 |
iexe |
l = l2 |> a -> E. a1 l = rev a1 |> a |
| 37 |
36 |
eex |
E. l2 l = l2 |> a -> E. a1 l = rev a1 |> a |
| 38 |
30, 37 |
ibii |
E. a1 l = rev a1 |> a <-> E. l2 l = l2 |> a |
| 39 |
26, 38 |
ax_mp |
E. a1 rev l = a : a1 <-> E. l2 l = l2 |> a |
| 40 |
39 |
biexexi |
E. a E. a1 rev l = a : a1 <-> E. l2 E. a l = l2 |> a |
| 41 |
10, 40 |
ax_mp |
~rev l = 0 <-> E. l2 E. a l = l2 |> a |
| 42 |
6, 41 |
ax_mp |
l != 0 <-> E. l2 E. a l = l2 |> a |