Theorem lmemmap | index | src |

theorem lmemmap (F: set) {a: nat} (b l: nat):
  $ b IN map F l <-> E. a (a IN l /\ b = F @ a) $;
StepHypRefExpression
1 bitr
(b IN map F l <-> E. a1 nth a1 (map F l) = suc b) ->
  (E. a1 nth a1 (map F l) = suc b <-> E. a (a IN l /\ b = F @ a)) ->
  (b IN map F l <-> E. a (a IN l /\ b = F @ a))
2 lmemnth
b IN map F l <-> E. a1 nth a1 (map F l) = suc b
3 1, 2 ax_mp
(E. a1 nth a1 (map F l) = suc b <-> E. a (a IN l /\ b = F @ a)) -> (b IN map F l <-> E. a (a IN l /\ b = F @ a))
4 bitr4
(E. a1 nth a1 (map F l) = suc b <-> E. a1 E. a (nth a1 l = suc a /\ b = F @ a)) ->
  (E. a (a IN l /\ b = F @ a) <-> E. a1 E. a (nth a1 l = suc a /\ b = F @ a)) ->
  (E. a1 nth a1 (map F l) = suc b <-> E. a (a IN l /\ b = F @ a))
5 mapnthb
nth a1 (map F l) = suc b <-> E. a (nth a1 l = suc a /\ b = F @ a)
6 5 exeqi
E. a1 nth a1 (map F l) = suc b <-> E. a1 E. a (nth a1 l = suc a /\ b = F @ a)
7 4, 6 ax_mp
(E. a (a IN l /\ b = F @ a) <-> E. a1 E. a (nth a1 l = suc a /\ b = F @ a)) -> (E. a1 nth a1 (map F l) = suc b <-> E. a (a IN l /\ b = F @ a))
8 lmemnth
a IN l <-> E. a1 nth a1 l = suc a
9 8 biexan1i
a IN l /\ b = F @ a <-> E. a1 (nth a1 l = suc a /\ b = F @ a)
10 9 biexexi
E. a (a IN l /\ b = F @ a) <-> E. a1 E. a (nth a1 l = suc a /\ b = F @ a)
11 7, 10 ax_mp
E. a1 nth a1 (map F l) = suc b <-> E. a (a IN l /\ b = F @ a)
12 3, 11 ax_mp
b IN map F l <-> E. a (a IN l /\ b = F @ a)

Axiom use

axs_prop_calc (ax_1, ax_2, ax_3, ax_mp, itru), axs_pred_calc (ax_gen, ax_4, ax_5, ax_6, ax_7, ax_10, ax_11, ax_12), axs_set (elab, ax_8), axs_the (theid, the0), axs_peano (peano1, peano2, peano5, addeq, muleq, add0, addS, mul0, mulS)