| Step | Hyp | Ref | Expression |
| 1 |
|
id |
_1 = L -> _1 = L |
| 2 |
1 |
eleq1d |
_1 = L -> (_1 e. List (List A) <-> L e. List (List A)) |
| 3 |
1 |
ljoineqd |
_1 = L -> ljoin _1 = ljoin L |
| 4 |
3 |
eleq1d |
_1 = L -> (ljoin _1 e. List A <-> ljoin L e. List A) |
| 5 |
2, 4 |
bieqd |
_1 = L -> (_1 e. List (List A) <-> ljoin _1 e. List A <-> (L e. List (List A) <-> ljoin L e. List A)) |
| 6 |
|
id |
_1 = 0 -> _1 = 0 |
| 7 |
6 |
eleq1d |
_1 = 0 -> (_1 e. List (List A) <-> 0 e. List (List A)) |
| 8 |
6 |
ljoineqd |
_1 = 0 -> ljoin _1 = ljoin 0 |
| 9 |
8 |
eleq1d |
_1 = 0 -> (ljoin _1 e. List A <-> ljoin 0 e. List A) |
| 10 |
7, 9 |
bieqd |
_1 = 0 -> (_1 e. List (List A) <-> ljoin _1 e. List A <-> (0 e. List (List A) <-> ljoin 0 e. List A)) |
| 11 |
|
id |
_1 = a2 -> _1 = a2 |
| 12 |
11 |
eleq1d |
_1 = a2 -> (_1 e. List (List A) <-> a2 e. List (List A)) |
| 13 |
11 |
ljoineqd |
_1 = a2 -> ljoin _1 = ljoin a2 |
| 14 |
13 |
eleq1d |
_1 = a2 -> (ljoin _1 e. List A <-> ljoin a2 e. List A) |
| 15 |
12, 14 |
bieqd |
_1 = a2 -> (_1 e. List (List A) <-> ljoin _1 e. List A <-> (a2 e. List (List A) <-> ljoin a2 e. List A)) |
| 16 |
|
id |
_1 = a1 : a2 -> _1 = a1 : a2 |
| 17 |
16 |
eleq1d |
_1 = a1 : a2 -> (_1 e. List (List A) <-> a1 : a2 e. List (List A)) |
| 18 |
16 |
ljoineqd |
_1 = a1 : a2 -> ljoin _1 = ljoin (a1 : a2) |
| 19 |
18 |
eleq1d |
_1 = a1 : a2 -> (ljoin _1 e. List A <-> ljoin (a1 : a2) e. List A) |
| 20 |
17, 19 |
bieqd |
_1 = a1 : a2 -> (_1 e. List (List A) <-> ljoin _1 e. List A <-> (a1 : a2 e. List (List A) <-> ljoin (a1 : a2) e. List A)) |
| 21 |
|
bith |
0 e. List (List A) -> ljoin 0 e. List A -> (0 e. List (List A) <-> ljoin 0 e. List A) |
| 22 |
|
elList0 |
0 e. List (List A) |
| 23 |
21, 22 |
ax_mp |
ljoin 0 e. List A -> (0 e. List (List A) <-> ljoin 0 e. List A) |
| 24 |
|
eleq1 |
ljoin 0 = 0 -> (ljoin 0 e. List A <-> 0 e. List A) |
| 25 |
|
ljoin0 |
ljoin 0 = 0 |
| 26 |
24, 25 |
ax_mp |
ljoin 0 e. List A <-> 0 e. List A |
| 27 |
|
elList0 |
0 e. List A |
| 28 |
26, 27 |
mpbir |
ljoin 0 e. List A |
| 29 |
23, 28 |
ax_mp |
0 e. List (List A) <-> ljoin 0 e. List A |
| 30 |
|
elListS |
a1 : a2 e. List (List A) <-> a1 e. List A /\ a2 e. List (List A) |
| 31 |
|
eleq1 |
ljoin (a1 : a2) = a1 ++ ljoin a2 -> (ljoin (a1 : a2) e. List A <-> a1 ++ ljoin a2 e. List A) |
| 32 |
|
ljoinS |
ljoin (a1 : a2) = a1 ++ ljoin a2 |
| 33 |
31, 32 |
ax_mp |
ljoin (a1 : a2) e. List A <-> a1 ++ ljoin a2 e. List A |
| 34 |
|
appendT |
a1 ++ ljoin a2 e. List A <-> a1 e. List A /\ ljoin a2 e. List A |
| 35 |
|
id |
(a2 e. List (List A) <-> ljoin a2 e. List A) -> (a2 e. List (List A) <-> ljoin a2 e. List A) |
| 36 |
35 |
aneq2d |
(a2 e. List (List A) <-> ljoin a2 e. List A) -> (a1 e. List A /\ a2 e. List (List A) <-> a1 e. List A /\ ljoin a2 e. List A) |
| 37 |
34, 36 |
syl6bbr |
(a2 e. List (List A) <-> ljoin a2 e. List A) -> (a1 e. List A /\ a2 e. List (List A) <-> a1 ++ ljoin a2 e. List A) |
| 38 |
33, 37 |
syl6bbr |
(a2 e. List (List A) <-> ljoin a2 e. List A) -> (a1 e. List A /\ a2 e. List (List A) <-> ljoin (a1 : a2) e. List A) |
| 39 |
30, 38 |
syl5bb |
(a2 e. List (List A) <-> ljoin a2 e. List A) -> (a1 : a2 e. List (List A) <-> ljoin (a1 : a2) e. List A) |
| 40 |
5, 10, 15, 20, 29, 39 |
listind |
L e. List (List A) <-> ljoin L e. List A |