TorchLean API

FloatLib.Floats.Formats.Posit.Configured.Functions.IntegerProof

Exact configured posit integer functions #

Every lawful storage codec transports the model's exact integer semantics. Floor, ceiling, and nearest-even results are exactly representable at the input posit width.

@[simp]

Configured floor refines model floor for every lawful storage codec.

@[simp]

Configured ceiling refines model ceiling for every lawful storage codec.

@[simp]

Configured nearest-integer rounding refines the nearest-even model operation.

theorem FloatLib.Floats.ExecFloat.Posit.toRat?_floor_of_finite {format : Formats.Posit.Format} {plan : Formats.Posit.Configured.StoragePlan format} {code : Type} [ModelCodec plan (Formats.Posit.Model format) code] (value : ExecFloat (Formats.Posit.Configured.Family format code plan)) {q : } (hvalue : toRat? value = some q) :
toRat? (floor value) = some q.floor

Finite configured floor denotes the exact mathematical floor.

theorem FloatLib.Floats.ExecFloat.Posit.toRat?_ceil_of_finite {format : Formats.Posit.Format} {plan : Formats.Posit.Configured.StoragePlan format} {code : Type} [ModelCodec plan (Formats.Posit.Model format) code] (value : ExecFloat (Formats.Posit.Configured.Family format code plan)) {q : } (hvalue : toRat? value = some q) :
toRat? (ceil value) = some q.ceil

Finite configured ceiling denotes the exact mathematical ceiling.

Finite configured nearest-integer rounding denotes the exact nearest-even integer.

@[simp]
theorem FloatLib.Floats.ExecFloat.Posit.toRat?_floor {format : Formats.Posit.Format} {plan : Formats.Posit.Configured.StoragePlan format} {code : Type} [ModelCodec plan (Formats.Posit.Model format) code] (value : ExecFloat (Formats.Posit.Configured.Family format code plan)) :
toRat? (floor value) = Option.map (fun (q : ) => q.floor) (toRat? value)

Configured floor has exact optional semantics, including NaR propagation.

@[simp]
theorem FloatLib.Floats.ExecFloat.Posit.toRat?_ceil {format : Formats.Posit.Format} {plan : Formats.Posit.Configured.StoragePlan format} {code : Type} [ModelCodec plan (Formats.Posit.Model format) code] (value : ExecFloat (Formats.Posit.Configured.Family format code plan)) :
toRat? (ceil value) = Option.map (fun (q : ) => q.ceil) (toRat? value)

Configured ceiling has exact optional semantics, including NaR propagation.

@[simp]

Configured nearest-even rounding has exact optional semantics, including NaR.

theorem FloatLib.Floats.ExecFloat.Posit.floor_of_int {format : Formats.Posit.Format} {plan : Formats.Posit.Configured.StoragePlan format} {code : Type} [ModelCodec plan (Formats.Posit.Model format) code] (value : ExecFloat (Formats.Posit.Configured.Family format code plan)) {n : } (hvalue : toRat? value = some n) :
floor value = value

Configured floor fixes every integer-valued input.

theorem FloatLib.Floats.ExecFloat.Posit.ceil_of_int {format : Formats.Posit.Format} {plan : Formats.Posit.Configured.StoragePlan format} {code : Type} [ModelCodec plan (Formats.Posit.Model format) code] (value : ExecFloat (Formats.Posit.Configured.Family format code plan)) {n : } (hvalue : toRat? value = some n) :
ceil value = value

Configured ceiling fixes every integer-valued input.

theorem FloatLib.Floats.ExecFloat.Posit.nearestInt_of_int {format : Formats.Posit.Format} {plan : Formats.Posit.Configured.StoragePlan format} {code : Type} [ModelCodec plan (Formats.Posit.Model format) code] (value : ExecFloat (Formats.Posit.Configured.Family format code plan)) {n : } (hvalue : toRat? value = some n) :
nearestInt value = value

Configured nearest-integer rounding fixes every integer-valued input.

theorem FloatLib.Floats.ExecFloat.Posit.nearestInt_spec {format : Formats.Posit.Format} {plan : Formats.Posit.Configured.StoragePlan format} {code : Type} [ModelCodec plan (Formats.Posit.Model format) code] (value : ExecFloat (Formats.Posit.Configured.Family format code plan)) {q : } (hvalue : toRat? value = some q) :
∃ (n : ), toRat? (nearestInt value) = some n |n - q| 1 / 2 (∀ (z : ), |n - q| |z - q|) (|n - q| = 1 / 2n % 2 = 0)

The configured result is a nearest integer, with half-unit error and even ties.