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

Theorem zmax 4618
Description: There is a unique largest integer less than or equal to a given real number.
Assertion
Ref Expression
zmax |- (A e. RR -> E!x e. ZZ (x <_ A /\ A.y e. ZZ (y <_ A -> y <_ x)))
Distinct variable group(s):   x,y,A

Proof of Theorem zmax
StepHypRef Expression
1 renegclt 4172 . . 3 |- (A e. RR -> -uA e. RR)
2 zmin 4617 . . 3 |- (-uA e. RR -> E!z e. ZZ (-uA <_ z /\ A.w e. ZZ (-uA <_ w -> z <_ w)))
31, 2syl 12 . 2 |- (A e. RR -> E!z e. ZZ (-uA <_ z /\ A.w e. ZZ (-uA <_ w -> z <_ w)))
4 lenegt 4368 . . . . . . 7 |- ((x e. RR /\ A e. RR) -> (x <_ A <-> -uA <_ -ux))
5 zret 4567 . . . . . . 7 |- (x e. ZZ -> x e. RR)
64, 5sylan 343 . . . . . 6 |- ((x e. ZZ /\ A e. RR) -> (x <_ A <-> -uA <_ -ux))
76ancoms 334 . . . . 5 |- ((A e. RR /\ x e. ZZ) -> (x <_ A <-> -uA <_ -ux))
8 breq1 2065 . . . . . . . . . . . . . . 15 |- (y = -uw -> (y <_ A <-> -uw <_ A))
9 breq1 2065 . . . . . . . . . . . . . . 15 |- (y = -uw -> (y <_ x <-> -uw <_ x))
108, 9imbi12d 474 . . . . . . . . . . . . . 14 |- (y = -uw -> ((y <_ A -> y <_ x) <-> (-uw <_ A -> -uw <_ x)))
1110rcla4v 1402 . . . . . . . . . . . . 13 |- (A.y e. ZZ (y <_ A -> y <_ x) -> (-uw e. ZZ -> (-uw <_ A -> -uw <_ x)))
1211imp 277 . . . . . . . . . . . 12 |- ((A.y e. ZZ (y <_ A -> y <_ x) /\ -uw e. ZZ) -> (-uw <_ A -> -uw <_ x))
13 znegclt 4588 . . . . . . . . . . . 12 |- (w e. ZZ -> -uw e. ZZ)
1412, 13sylan2 346 . . . . . . . . . . 11 |- ((A.y e. ZZ (y <_ A -> y <_ x) /\ w e. ZZ) -> (-uw <_ A -> -uw <_ x))
1514adantr 306 . . . . . . . . . 10 |- (((A.y e. ZZ (y <_ A -> y <_ x) /\ w e. ZZ) /\ (A e. RR /\ x e. ZZ)) -> (-uw <_ A -> -uw <_ x))
16 lenegcon1t 4369 . . . . . . . . . . . . . 14 |- ((w e. RR /\ A e. RR) -> (-uw <_ A <-> -uA <_ w))
1716adantrr 312 . . . . . . . . . . . . 13 |- ((w e. RR /\ (A e. RR /\ x e. ZZ)) -> (-uw <_ A <-> -uA <_ w))
18 lenegcon1t 4369 . . . . . . . . . . . . . . 15 |- ((w e. RR /\ x e. RR) -> (-uw <_ x <-> -ux <_ w))
1918, 5sylan2 346 . . . . . . . . . . . . . 14 |- ((w e. RR /\ x e. ZZ) -> (-uw <_ x <-> -ux <_ w))
2019adantrl 311 . . . . . . . . . . . . 13 |- ((w e. RR /\ (A e. RR /\ x e. ZZ)) -> (-uw <_ x <-> -ux <_ w))
2117, 20imbi12d 474 . . . . . . . . . . . 12 |- ((w e. RR /\ (A e. RR /\ x e. ZZ)) -> ((-uw <_ A -> -uw <_ x) <-> (-uA <_ w -> -ux <_ w)))
22 zret 4567 . . . . . . . . . . . 12 |- (w e. ZZ -> w e. RR)
2321, 22sylan 343 . . . . . . . . . . 11 |- ((w e. ZZ /\ (A e. RR /\ x e. ZZ)) -> ((-uw <_ A -> -uw <_ x) <-> (-uA <_ w -> -ux <_ w)))
2423adantll 309 . . . . . . . . . 10 |- (((A.y e. ZZ (y <_ A -> y <_ x) /\ w e. ZZ) /\ (A e. RR /\ x e. ZZ)) -> ((-uw <_ A -> -uw <_ x) <-> (-uA <_ w -> -ux <_ w)))
2515, 24mpbid 170 . . . . . . . . 9 |- (((A.y e. ZZ (y <_ A -> y <_ x) /\ w e. ZZ) /\ (A e. RR /\ x e. ZZ)) -> (-uA <_ w -> -ux <_ w))
2625exp31 293 . . . . . . . 8 |- (A.y e. ZZ (y <_ A -> y <_ x) -> (w e. ZZ -> ((A e. RR /\ x e. ZZ) -> (-uA <_ w -> -ux <_ w))))
2726com3r 35 . . . . . . 7 |- ((A e. RR /\ x e. ZZ) -> (A.y e. ZZ (y <_ A -> y <_ x) -> (w e. ZZ -> (-uA <_ w -> -ux <_ w))))
2827r19.21adv 1262 . . . . . 6 |- ((A e. RR /\ x e. ZZ) -> (A.y e. ZZ (y <_ A -> y <_ x) -> A.w e. ZZ (-uA <_ w -> -ux <_ w)))
29 breq2 2066 . . . . . . . . . . . . . . 15 |- (w = -uy -> (-uA <_ w <-> -uA <_ -uy))
30 breq2 2066 . . . . . . . . . . . . . . 15 |- (w = -uy -> (-ux <_ w <-> -ux <_ -uy))
3129, 30imbi12d 474 . . . . . . . . . . . . . 14 |- (w = -uy -> ((-uA <_ w -> -ux <_ w) <-> (-uA <_ -uy -> -ux <_ -uy)))
3231rcla4v 1402 . . . . . . . . . . . . 13 |- (A.w e. ZZ (-uA <_ w -> -ux <_ w) -> (-uy e. ZZ -> (-uA <_ -uy -> -ux <_ -uy)))
3332imp 277 . . . . . . . . . . . 12 |- ((A.w e. ZZ (-uA <_ w -> -ux <_ w) /\ -uy e. ZZ) -> (-uA <_ -uy -> -ux <_ -uy))
34 znegclt 4588 . . . . . . . . . . . 12 |- (y e. ZZ -> -uy e. ZZ)
3533, 34sylan2 346 . . . . . . . . . . 11 |- ((A.w e. ZZ (-uA <_ w -> -ux <_ w) /\ y e. ZZ) -> (-uA <_ -uy -> -ux <_ -uy))
3635adantr 306 . . . . . . . . . 10 |- (((A.w e. ZZ (-uA <_ w -> -ux <_ w) /\ y e. ZZ) /\ (A e. RR /\ x e. ZZ)) -> (-uA <_ -uy -> -ux <_ -uy))
37 lenegt 4368 . . . . . . . . . . . . . 14 |- ((y e. RR /\ A e. RR) -> (y <_ A <-> -uA <_ -uy))
3837adantrr 312 . . . . . . . . . . . . 13 |- ((y e. RR /\ (A e. RR /\ x e. ZZ)) -> (y <_ A <-> -uA <_ -uy))
39 lenegt 4368 . . . . . . . . . . . . . . 15 |- ((y e. RR /\ x e. RR) -> (y <_ x <-> -ux <_ -uy))
4039, 5sylan2 346 . . . . . . . . . . . . . 14 |- ((y e. RR /\ x e. ZZ) -> (y <_ x <-> -ux <_ -uy))
4140adantrl 311 . . . . . . . . . . . . 13 |- ((y e. RR /\ (A e. RR /\ x e. ZZ)) -> (y <_ x <-> -ux <_ -uy))
4238, 41imbi12d 474 . . . . . . . . . . . 12 |- ((y e. RR /\ (A e. RR /\ x e. ZZ)) -> ((y <_ A -> y <_ x) <-> (-uA <_ -uy -> -ux <_ -uy)))
43 zret 4567 . . . . . . . . . . . 12 |- (y e. ZZ -> y e. RR)
4442, 43sylan 343 . . . . . . . . . . 11 |- ((y e. ZZ /\ (A e. RR /\ x e. ZZ)) -> ((y <_ A -> y <_ x) <-> (-uA <_ -uy -> -ux <_ -uy)))
4544adantll 309 . . . . . . . . . 10 |- (((A.w e. ZZ (-uA <_ w -> -ux <_ w) /\ y e. ZZ) /\ (A e. RR /\ x e. ZZ)) -> ((y <_ A -> y <_ x) <-> (-uA <_ -uy -> -ux <_ -uy)))
4636, 45mpbird 171 . . . . . . . . 9 |- (((A.w e. ZZ (-uA <_ w -> -ux <_ w) /\ y e. ZZ) /\ (A e. RR /\ x e. ZZ)) -> (y <_ A -> y <_ x))
4746exp31 293 . . . . . . . 8 |- (A.w e. ZZ (-uA <_ w -> -ux <_ w) -> (y e. ZZ -> ((A e. RR /\ x e. ZZ) -> (y <_ A -> y <_ x))))
4847com3r 35 . . . . . . 7 |- ((A e. RR /\ x e. ZZ) -> (A.w e. ZZ (-uA <_ w -> -ux <_ w) -> (y e. ZZ -> (y <_ A -> y <_ x))))
4948r19.21adv 1262 . . . . . 6 |- ((A e. RR /\ x e. ZZ) -> (A.w e. ZZ (-uA <_ w -> -ux <_ w) -> A.y e. ZZ (y <_ A -> y <_ x)))
5028, 49impbid 397 . . . . 5 |- ((A e. RR /\ x e. ZZ) -> (A.y e. ZZ (y <_ A -> y <_ x) <-> A.w e. ZZ (-uA <_ w -> -ux <_ w)))
517, 50anbi12d 476 . . . 4 |- ((A e. RR /\ x e. ZZ) -> ((x <_ A /\ A.y e. ZZ (y <_ A -> y <_ x)) <-> (-uA <_ -ux /\ A.w e. ZZ (-uA <_ w -> -ux <_ w))))
5251bireudva 1317 . . 3 |- (A e. RR -> (E!x e. ZZ (x <_ A /\ A.y e. ZZ (y <_ A -> y <_ x)) <-> E!x e. ZZ (-uA <_ -ux /\ A.w e. ZZ (-uA <_ w -> -ux <_ w))))
53 znegclt 4588 . . . 4 |- (x e. ZZ -> -ux e. ZZ)
54 znegclt 4588 . . . . 5 |- (z e. ZZ -> -uz e. ZZ)
55 negcon2t 4168 . . . . . 6 |- ((z e. CC /\ x e. CC) -> (z = -ux <-> x = -uz))
56 zcnt 4568 . . . . . 6 |- (z e. ZZ -> z e. CC)
57 zcnt 4568 . . . . . 6 |- (x e. ZZ -> x e. CC)
5855, 56, 57syl2an 349 . . . . 5 |- ((z e. ZZ /\ x e. ZZ) -> (z = -ux <-> x = -uz))
5954, 58reuhyp 1581 . . . 4 |- (z e. ZZ -> E!x e. ZZ z = -ux)
60 breq2 2066 . . . . 5 |- (z = -ux -> (-uA <_ z <-> -uA <_ -ux))
61 breq1 2065 . . . . . . 7 |- (z = -ux -> (z <_ w <-> -ux <_ w))
6261imbi2d 464 . . . . . 6 |- (z = -ux -> ((-uA <_ w -> z <_ w) <-> (-uA <_ w -> -ux <_ w)))
6362biraldv 1219 . . . . 5 |- (z = -ux -> (A.w e. ZZ (-uA <_ w -> z <_ w) <-> A.w e. ZZ (-uA <_ w -> -ux <_ w)))
6460, 63anbi12d 476 . . . 4 |- (z = -ux -> ((-uA <_ z /\ A.w e. ZZ (-uA <_ w -> z <_ w))