HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem omsmolem 3195
Description: Lemma for omsmo 3196.
Assertion
Ref Expression
omsmolem |- (y e. om -> (((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) -> (z e. y -> (F` z) e. (F` y))))
Distinct variable group(s):   x,y,z,A   x,F,y,z

Proof of Theorem omsmolem
StepHypRef Expression
1 eleq2 1150 . . 3 |- (y = (/) -> (z e. y <-> z e. (/)))
2 fveq2 2832 . . . 4 |- (y = (/) -> (F` y) = (F` (/)))
32eleq2d 1156 . . 3 |- (y = (/) -> ((F` z) e. (F` y) <-> (F` z) e. (F` (/))))
41, 3imbi12d 474 . 2 |- (y = (/) -> ((z e. y -> (F` z) e. (F` y)) <-> (z e. (/) -> (F` z) e. (F` (/)))))
5 eleq2 1150 . . 3 |- (y = w -> (z e. y <-> z e. w))
6 fveq2 2832 . . . 4 |- (y = w -> (F` y) = (F` w))
76eleq2d 1156 . . 3 |- (y = w -> ((F` z) e. (F` y) <-> (F` z) e. (F` w)))
85, 7imbi12d 474 . 2 |- (y = w -> ((z e. y -> (F` z) e. (F` y)) <-> (z e. w -> (F` z) e. (F` w))))
9 eleq2 1150 . . 3 |- (y = suc w -> (z e. y <-> z e. suc w))
10 fveq2 2832 . . . 4 |- (y = suc w -> (F` y) = (F` suc w))
1110eleq2d 1156 . . 3 |- (y = suc w -> ((F` z) e. (F` y) <-> (F` z) e. (F` suc w)))
129, 11imbi12d 474 . 2 |- (y = suc w -> ((z e. y -> (F` z) e. (F` y)) <-> (z e. suc w -> (F` z) e. (F` suc w))))
13 noel 1711 . . . 4 |- -. z e. (/)
1413pm2.21i 73 . . 3 |- (z e. (/) -> (F` z) e. (F` (/)))
1514a1i 7 . 2 |- (((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) -> (z e. (/) -> (F` z) e. (F` (/))))
16 fveq2 2832 . . . . . . . . . . . . 13 |- (x = w -> (F` x) = (F` w))
17 suceq 2288 . . . . . . . . . . . . . 14 |- (x = w -> suc x = suc w)
1817fveq2d 2836 . . . . . . . . . . . . 13 |- (x = w -> (F` suc x) = (F` suc w))
1916, 18eleq12d 1157 . . . . . . . . . . . 12 |- (x = w -> ((F` x) e. (F` suc x) <-> (F` w) e. (F` suc w)))
2019rcla4v 1402 . . . . . . . . . . 11 |- (A.x e. om (F` x) e. (F` suc x) -> (w e. om -> (F` w) e. (F` suc w)))
2120imp 277 . . . . . . . . . 10 |- ((A.x e. om (F` x) e. (F` suc x) /\ w e. om) -> (F` w) e. (F` suc w))
2221adantll 309 . . . . . . . . 9 |- ((((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) /\ w e. om) -> (F` w) e. (F` suc w))
23 ssel 1502 . . . . . . . . . . . . . 14 |- (A (_ On -> ((F` suc w) e. A -> (F` suc w) e. On))
24 ffvrn 2890 . . . . . . . . . . . . . . 15 |- ((F:om-->A /\ suc w e. om) -> (F` suc w) e. A)
25 peano2b 2388 . . . . . . . . . . . . . . 15 |- (w e. om <-> suc w e. om)
2624, 25sylan2b 347 . . . . . . . . . . . . . 14 |- ((F:om-->A /\ w e. om) -> (F` suc w) e. A)
2723, 26syl5 22 . . . . . . . . . . . . 13 |- (A (_ On -> ((F:om-->A /\ w e. om) -> (F` suc w) e. On))
28 ontr1 2258 . . . . . . . . . . . . . . 15 |- ((F` suc w) e. On -> (((F` z) e. (F` w) /\ (F` w) e. (F` suc w)) -> (F` z) e. (F` suc w)))
2928exp3a 292 . . . . . . . . . . . . . 14 |- ((F` suc w) e. On -> ((F` z) e. (F` w) -> ((F` w) e. (F` suc w) -> (F` z) e. (F` suc w))))
3029com23 32 . . . . . . . . . . . . 13 |- ((F` suc w) e. On -> ((F` w) e. (F` suc w) -> ((F` z) e. (F` w) -> (F` z) e. (F` suc w))))
3127, 30syl6 23 . . . . . . . . . . . 12 |- (A (_ On -> ((F:om-->A /\ w e. om) -> ((F` w) e. (F` suc w) -> ((F` z) e. (F` w) -> (F` z) e. (F` suc w)))))
3231exp3a 292 . . . . . . . . . . 11 |- (A (_ On -> (F:om-->A -> (w e. om -> ((F` w) e. (F` suc w) -> ((F` z) e. (F` w) -> (F` z) e. (F` suc w))))))
3332imp31 280 . . . . . . . . . 10 |- (((A (_ On /\ F:om-->A) /\ w e. om) -> ((F` w) e. (F` suc w) -> ((F` z) e. (F` w) -> (F` z) e. (F` suc w))))
3433adantlr 310 . . . . . . . . 9 |- ((((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) /\ w e. om) -> ((F` w) e. (F` suc w) -> ((F` z) e. (F` w) -> (F` z) e. (F` suc w))))
3522, 34mpd 46 . . . . . . . 8 |- ((((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) /\ w e. om) -> ((F` z) e. (F` w) -> (F` z) e. (F` suc w)))
3635syl3d 26 . . . . . . 7 |- ((((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) /\ w e. om) -> ((z e. w -> (F` z) e. (F` w)) -> (z e. w -> (F` z) e. (F` suc w))))
3736imp 277 . . . . . 6 |- (((((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) /\ w e. om) /\ (z e. w -> (F` z) e. (F` w))) -> (z e. w -> (F` z) e. (F` suc w)))
38 fveq2 2832 . . . . . . . . . . 11 |- (z = w -> (F` z) = (F` w))
3938eleq1d 1155 . . . . . . . . . 10 |- (z = w -> ((F` z) e. (F` suc w) <-> (F` w) e. (F` suc w)))
4039, 21syl5bir 184 . . . . . . . . 9 |- (z = w -> ((A.x e. om (F` x) e. (F` suc x) /\ w e. om) -> (F` z) e. (F` suc w)))
4140com12 13 . . . . . . . 8 |- ((A.x e. om (F` x) e. (F` suc x) /\ w e. om) -> (z = w -> (F` z) e. (F` suc w)))
4241adantll 309 . . . . . . 7 |- ((((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) /\ w e. om) -> (z = w -> (F` z) e. (F` suc w)))
4342adantr 306 . . . . . 6 |- (((((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) /\ w e. om) /\ (z e. w -> (F` z) e. (F` w))) -> (z = w -> (F` z) e. (F` suc w)))
4437, 43jaod 329 . . . . 5 |- (((((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) /\ w e. om) /\ (z e. w -> (F` z) e. (F` w))) -> ((z e. w \/ z = w) -> (F` z) e. (F` suc w)))
45 visset 1350 . . . . . 6 |- z e. V
4645elsuc 2292 . . . . 5 |- (z e. suc w <-> (z e. w \/ z = w))
4744, 46syl5ib 181 . . . 4 |- (((((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) /\ w e. om) /\ (z e. w -> (F` z) e. (F` w))) -> (z e. suc w -> (F` z) e. (F` suc w)))
4847exp31 293 . . 3 |- (((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) -> (w e. om -> ((z e. w -> (F` z) e. (F` w)) -> (z e. suc w -> (F` z) e. (F` suc w)))))
4948com12 13 . 2 |- (w e. om -> (((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) -> ((z e. w -> (F` z) e. (F` w)) -> (z e. suc w -> (F` z) e. (F` suc w)))))
504, 8, 12, 15, 49finds2 2399 1 |- (y e. om -> (((A (_ On /\ F:om-->A) /\ A.x e. om (F` x)