| Step | Hyp | Ref | Expression |
| 1 |
|
eqidd |
_1 = a -> x = x |
| 2 |
|
id |
_1 = a -> _1 = a |
| 3 |
|
eqidd |
_1 = a -> b = b |
| 4 |
2, 3 |
appendeqd |
_1 = a -> _1 ++ b = a ++ b |
| 5 |
1, 4 |
lmemeqd |
_1 = a -> (x IN _1 ++ b <-> x IN a ++ b) |
| 6 |
1, 2 |
lmemeqd |
_1 = a -> (x IN _1 <-> x IN a) |
| 7 |
|
biidd |
_1 = a -> (x IN b <-> x IN b) |
| 8 |
6, 7 |
oreqd |
_1 = a -> (x IN _1 \/ x IN b <-> x IN a \/ x IN b) |
| 9 |
5, 8 |
bieqd |
_1 = a -> (x IN _1 ++ b <-> x IN _1 \/ x IN b <-> (x IN a ++ b <-> x IN a \/ x IN b)) |
| 10 |
|
eqidd |
_1 = 0 -> x = x |
| 11 |
|
id |
_1 = 0 -> _1 = 0 |
| 12 |
|
eqidd |
_1 = 0 -> b = b |
| 13 |
11, 12 |
appendeqd |
_1 = 0 -> _1 ++ b = 0 ++ b |
| 14 |
10, 13 |
lmemeqd |
_1 = 0 -> (x IN _1 ++ b <-> x IN 0 ++ b) |
| 15 |
10, 11 |
lmemeqd |
_1 = 0 -> (x IN _1 <-> x IN 0) |
| 16 |
|
biidd |
_1 = 0 -> (x IN b <-> x IN b) |
| 17 |
15, 16 |
oreqd |
_1 = 0 -> (x IN _1 \/ x IN b <-> x IN 0 \/ x IN b) |
| 18 |
14, 17 |
bieqd |
_1 = 0 -> (x IN _1 ++ b <-> x IN _1 \/ x IN b <-> (x IN 0 ++ b <-> x IN 0 \/ x IN b)) |
| 19 |
|
eqidd |
_1 = a2 -> x = x |
| 20 |
|
id |
_1 = a2 -> _1 = a2 |
| 21 |
|
eqidd |
_1 = a2 -> b = b |
| 22 |
20, 21 |
appendeqd |
_1 = a2 -> _1 ++ b = a2 ++ b |
| 23 |
19, 22 |
lmemeqd |
_1 = a2 -> (x IN _1 ++ b <-> x IN a2 ++ b) |
| 24 |
19, 20 |
lmemeqd |
_1 = a2 -> (x IN _1 <-> x IN a2) |
| 25 |
|
biidd |
_1 = a2 -> (x IN b <-> x IN b) |
| 26 |
24, 25 |
oreqd |
_1 = a2 -> (x IN _1 \/ x IN b <-> x IN a2 \/ x IN b) |
| 27 |
23, 26 |
bieqd |
_1 = a2 -> (x IN _1 ++ b <-> x IN _1 \/ x IN b <-> (x IN a2 ++ b <-> x IN a2 \/ x IN b)) |
| 28 |
|
eqidd |
_1 = a1 : a2 -> x = x |
| 29 |
|
id |
_1 = a1 : a2 -> _1 = a1 : a2 |
| 30 |
|
eqidd |
_1 = a1 : a2 -> b = b |
| 31 |
29, 30 |
appendeqd |
_1 = a1 : a2 -> _1 ++ b = a1 : a2 ++ b |
| 32 |
28, 31 |
lmemeqd |
_1 = a1 : a2 -> (x IN _1 ++ b <-> x IN a1 : a2 ++ b) |
| 33 |
28, 29 |
lmemeqd |
_1 = a1 : a2 -> (x IN _1 <-> x IN a1 : a2) |
| 34 |
|
biidd |
_1 = a1 : a2 -> (x IN b <-> x IN b) |
| 35 |
33, 34 |
oreqd |
_1 = a1 : a2 -> (x IN _1 \/ x IN b <-> x IN a1 : a2 \/ x IN b) |
| 36 |
32, 35 |
bieqd |
_1 = a1 : a2 -> (x IN _1 ++ b <-> x IN _1 \/ x IN b <-> (x IN a1 : a2 ++ b <-> x IN a1 : a2 \/ x IN b)) |
| 37 |
|
bitr4 |
(x IN 0 ++ b <-> x IN b) -> (x IN 0 \/ x IN b <-> x IN b) -> (x IN 0 ++ b <-> x IN 0 \/ x IN b) |
| 38 |
|
lmemeq2 |
0 ++ b = b -> (x IN 0 ++ b <-> x IN b) |
| 39 |
|
append0 |
0 ++ b = b |
| 40 |
38, 39 |
ax_mp |
x IN 0 ++ b <-> x IN b |
| 41 |
37, 40 |
ax_mp |
(x IN 0 \/ x IN b <-> x IN b) -> (x IN 0 ++ b <-> x IN 0 \/ x IN b) |
| 42 |
|
bior1 |
~x IN 0 -> (x IN 0 \/ x IN b <-> x IN b) |
| 43 |
|
lmem0 |
~x IN 0 |
| 44 |
42, 43 |
ax_mp |
x IN 0 \/ x IN b <-> x IN b |
| 45 |
41, 44 |
ax_mp |
x IN 0 ++ b <-> x IN 0 \/ x IN b |
| 46 |
|
lmemeq2 |
a1 : a2 ++ b = a1 : (a2 ++ b) -> (x IN a1 : a2 ++ b <-> x IN a1 : (a2 ++ b)) |
| 47 |
|
appendS |
a1 : a2 ++ b = a1 : (a2 ++ b) |
| 48 |
46, 47 |
ax_mp |
x IN a1 : a2 ++ b <-> x IN a1 : (a2 ++ b) |
| 49 |
|
lmemS |
x IN a1 : a2 <-> x = a1 \/ x IN a2 |
| 50 |
49 |
oreq1i |
x IN a1 : a2 \/ x IN b <-> x = a1 \/ x IN a2 \/ x IN b |
| 51 |
|
lmemS |
x IN a1 : (a2 ++ b) <-> x = a1 \/ x IN a2 ++ b |
| 52 |
|
orass |
x = a1 \/ x IN a2 \/ x IN b <-> x = a1 \/ (x IN a2 \/ x IN b) |
| 53 |
|
id |
(x IN a2 ++ b <-> x IN a2 \/ x IN b) -> (x IN a2 ++ b <-> x IN a2 \/ x IN b) |
| 54 |
53 |
oreq2d |
(x IN a2 ++ b <-> x IN a2 \/ x IN b) -> (x = a1 \/ x IN a2 ++ b <-> x = a1 \/ (x IN a2 \/ x IN b)) |
| 55 |
51, 52, 54 |
bitr4g |
(x IN a2 ++ b <-> x IN a2 \/ x IN b) -> (x IN a1 : (a2 ++ b) <-> x = a1 \/ x IN a2 \/ x IN b) |
| 56 |
48, 50, 55 |
bitr4g |
(x IN a2 ++ b <-> x IN a2 \/ x IN b) -> (x IN a1 : a2 ++ b <-> x IN a1 : a2 \/ x IN b) |
| 57 |
9, 18, 27, 36, 45, 56 |
listind |
x IN a ++ b <-> x IN a \/ x IN b |