TorchLean API

FloatLib.Floats.Formats.Posit.Configured.Trigonometric.Proof

Correct rounding of configured posit trigonometric operations #

The sine, cosine, tangent, and inverse-function theorems identify each configured result with one rounding of the real function, under the stated domain conditions. NaR propagation and out-of-domain results are proved separately. All results hold for every lawful storage codec and every valid posit width.

@[simp]

Configured sine refines the model operation.

@[simp]

Configured cosine refines the model operation.

@[simp]

Configured tangent refines the model operation.

@[simp]

Configured inverse sine refines the model operation.

@[simp]

Configured inverse cosine refines the model operation.

@[simp]

Configured inverse tangent refines the model operation.

Configured sine rounds the exact real result once.

Configured cosine rounds the exact real result once.

Configured tangent rounds the exact real result once.

theorem FloatLib.Floats.ExecFloat.Posit.arcSin_eq_real {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) (hlower : -1 q) (hupper : q 1) :

Configured inverse sine includes both real-domain endpoints.

theorem FloatLib.Floats.ExecFloat.Posit.arcCos_eq_real {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) (hlower : -1 q) (hupper : q 1) :

Configured inverse cosine includes both real-domain endpoints.

Configured inverse tangent rounds its exact principal value.

NaR propagates through configured sine.

NaR propagates through configured cosine.

NaR propagates through configured tangent.

NaR propagates through configured inverse sine.

NaR propagates through configured inverse cosine.

NaR propagates through configured inverse tangent.

theorem FloatLib.Floats.ExecFloat.Posit.arcSin_eq_nar_of_outside {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) (houtside : q < -1 1 < q) :

Configured inverse sine rejects the exterior of its real domain.

theorem FloatLib.Floats.ExecFloat.Posit.arcCos_eq_nar_of_outside {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) (houtside : q < -1 1 < q) :

Configured inverse cosine rejects the exterior of its real domain.