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

Theorem omsmolem 4246
Description: Lemma for omsmo 4247.
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 groups:   x,y,z,A   x,F,y,z

Proof of Theorem omsmolem
StepHypRef Expression
1 eleq2 1532 . . 3 |- (y = (/) -> (z e. y <-> z e. (/)))
2 fveq2 3715 . . . 4 |- (y = (/) -> (F` y) = (F` (/)))
32eleq2d 1538 . . 3 |- (y = (/) -> ((F` z) e. (F` y) <-> (F` z) e. (F` (/))))
41, 3imbi12d 625 . 2 |- (y = (/) -> ((z e. y -> (F` z) e. (F` y)) <-> (z e. (/) -> (F` z) e. (F` (/)))))
5 eleq2 1532 . . 3 |- (y = w -> (z e. y <-> z e. w))
6 fveq2 3715 . . . 4 |- (y = w -> (F` y) = (F` w))
76eleq2d 1538 . . 3 |- (y = w -> ((F` z) e. (F` y) <-> (F` z) e. (F` w)))
85, 7imbi12d 625 . 2 |- (y = w -> ((z e. y -> (F` z) e. (F` y)) <-> (z e. w -> (F` z) e. (F` w))))
9 eleq2 1532 . . 3 |- (y = suc w -> (z e. y <-> z e. suc w))
10 fveq2 3715 . . . 4 |- (y = suc w -> (F` y) = (F` suc w))
1110eleq2d 1538 . . 3 |- (y = suc w -> ((F` z) e. (F` y) <-> (F` z) e. (F` suc w)))
129, 11imbi12d 625 . 2 |- (y = suc w -> ((z e. y -> (F` z) e. (F` y)) <-> (z e. suc w -> (F` z) e. (F` suc w))))
13 noel 2280 . . . 4 |- -. z e. (/)
1413pm2.21i 77 . . 3 |- (z e. (/) -> (F` z) e. (F` (/)))
1514a1i 8 . 2 |- (((A (_ On /\ F:om-->A) /\ A.x e. om (F` x) e. (F` suc x)) -> (z e. (/) -> (F` z) e. (F` (/))))
16 fveq2 3715 . . . . . . . . . . . 12 |- (x = w -> (F` x) = (F` w))
17 suceq 3029 . . . . . . . . . . . . 13 |- (x = w -> suc x = suc w)
1817fveq2d 3719 . . . . . . . . . . . 12 |- (x = w -> (F` suc x) = (F` suc w))
1916, 18eleq12d 1539 . . . . . . . . . . 11 |- (x = w -> ((F` x) e. (F` suc x) <-> (F` w) e. (F` suc w)))
2019rcla4cva 1872 . . . . . . . . . 10 |- ((A.x e. om (F` x) e. (F` suc x) /\ w e. om) -> (F` w) e. (F` suc w))
2120adantll 392 . . . . . . . . 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))
22 ssel 2059 . . . . . . . . . . . . . 14 |- (A (_ On -> ((F` suc w) e. A -> (F` suc w) e. On))
23 ffvelrn 3805 . . . . . . . . . . . . . . 15 |- ((F:om-->A /\ suc w e. om) -> (F` suc w) e. A)
24 peano2b 3142 . . . . . . . . . . . . . . 15 |- (w e. om <-> suc w e. om)
2523, 24sylan2b 452 . . . . . . . . . . . . . 14 |- ((F:om-->A /\ w e. om) -> (F` suc w) e. A)
2622, 25syl5 21 . . . . . . . . . . . . 13 |- (A (_ On -> ((F:om-->A /\ w e. om) -> (F` suc w) e. On))
27 ontr1 2998 . . . . . . . . . . . . . . 15 |- ((F` suc w) e. On -> (((F` z) e. (F` w) /\ (F` w) e. (F` suc w)) -> (F` z) e. (F` suc w)))
2827exp3a 375 . . . . . . . . . . . . . 14 |- ((F` suc w) e. On -> ((F` z) e. (F` w) -> ((F` w) e. (F` suc w) -> (F` z) e. (F` suc w))))
2928com23 32 . . . . . . . . . . . . 13 |- ((F` suc w) e. On -> ((F` w) e. (F` suc w) -> ((F` z) e. (F` w) -> (F` z) e. (F` suc w))))
3026, 29syl6 22 . . . . . . . . . . . 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)))))
3130exp3a 375 . . . . . . . . . . 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))))))
3231imp31 362 . . . . . . . . . 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))))
3332adantlr 393 . . . . . . . . 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))))
3421, 33mpd 26 . . . . . . . 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)))
3534imim2d 25 . . . . . . 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))))
3635imp 350 . . . . . 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)))
37 fveq2 3715 . . . . . . . . . 10 |- (z = w -> (F` z) = (F` w))
3837eleq1d 1537 . . . . . . . . 9 |- (z = w -> ((F` z) e. (F` suc w) <-> (F` w) e. (F` suc w)))
3938, 20syl5cbir 211 . . . . . . . 8 |- ((A.x e. om (F` x) e. (F` suc x) /\ w e. om) -> (z = w -> (F` z) e. (F` suc w)))
4039adantll 392 . . . . . . 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)))
4140adantr 389 . . . . . 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)))
4236, 41jaod 424 . . . . 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)))
43 visset 1809 . . . . . 6 |- z e. V
4443elsuc 3033 . . . . 5 |- (z e. suc w <-> (z e. w \/ z = w))
4542, 44syl5ib 206 . . . 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)))
4645exp31 376 . . 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)))))
4746com12 11 . 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)))))
484, 8, 12, 15, 47finds2 3153 1 |- (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))))
Colors of variables: wff set class
Syntax hints:   -> wi 3   \/ wo 222