Deterministic Fixed Point Arithmetic | Dweve Numerus

Numerus: deterministic fixed-point, decimal and integer arithmetic in Rust; same bits under a declared execution contract. Publishing in round two.

El registro de lo ocurrido, conservado para poder releerse.

Un solucionador SMT, con un certificado adjunto a la respuesta.

Reglas como artefactos con nombre, con el motivo por el que falló una comprobación.

Elija el contrato numérico antes del primer cálculo, conserve el razonamiento que lo acompañó y entregue a quien lo pida un registro que pueda reejecutar en su propia máquina.

Lo que obtiene es la suma hecha exactamente, la misma cifra en todas partes y un registro de cómo se alcanzó.

Está construido en Europa, bajo normas europeas, y su código fuente se publica con términos Apache-2.0 en la segunda ronda del programa de lanzamiento fundacional de Dweve. Los reguladores y las organizaciones de consumidores podrán inspeccionar la aritmética directamente, el día en que entre en funcionamiento.

Que una regla sea correcta sigue siendo una cuestión para las personas, y usted tiene derecho a plantearla. Lo que esto le ofrece es algo sólido con lo que plantearla: una cifra que sale igual cuando cualquiera la comprueba, un registro escrito de cómo se alcanzó que no depende de la memoria de nadie, y una comprobación que dice si ese registro fue alterado después.

Si la regla que se le aplica es injusta, esto la aplicará exactamente, al céntimo, a todos, siempre. No hace justa la regla, y no puede decir que la regla sea injusta. Todo lo que hace es asegurarse de que la cifra tampoco sea incorrecta, que es una promesa más pequeña de la que usted esperaba y una que de verdad se cumple.

Nada de eso cambia lo único que debe oír con claridad.

Así que lo que le llega es una cifra con su propio margen adjunto, o un espacio en blanco donde habría ido un número inventado. Dónde se encuentra la máquina también importa, y más de lo que la gente espera. El mismo trabajo hecho en Francia y en Alemania sale con cifras de carbono muy diferentes, porque la electricidad se produce de forma distinta.

El recuento no es perfecto, y el software lo dice sin que se lo pidan. Los trabajos demasiado pequeños para registrarse no dejan rastro en él. El mismo trabajo ejecutado dos veces sale un poco diferente según lo caliente que estuviera la máquina. En algunos ordenadores alquilados no puede ver nada, y lo dice en lugar de adivinar.

Los ordenadores usan electricidad para pensar. Todo el mundo lo sabe, y nadie ha podido nunca decirle cuánta se gastó en un trabajo concreto. Los procesadores mantienen su propio recuento continuo de la energía que han gastado, y ese recuento se puede leer. Así que un trabajo puede volver con la electricidad que necesitó escrita a su lado, y donde la máquina no puede decirlo, con nada en lugar de una suposición.

También puede responder a algo que nadie podía preguntar hace unos años: cuánto costó la suma en electricidad.

Y nada de eso necesita llamar a ningún sitio. La lectura, la dosis, la distancia de frenado: la cifra se calcula donde se mide, así que no hay una copia en el ordenador de otra persona, y nada espera a una conexión. Eso importa bastante más cuando el número es sobre su cuerpo que cuando es sobre su agua.

Un contador es barato en parte porque no puede manejar fracciones, así que cuenta en números enteros. Eso resulta ser el mismo conteo que da una respuesta idéntica en todas las máquinas. Así que la suma en su armario no es una versión más tosca de la suma del banco porque la caja era pequeña. Es la misma suma.

El contador de su armario decide cuánto debe por el agua. Una bomba en una sala de hospital decide cuánto de un fármaco entra. Una caja detrás de la rueda de un coche decide con qué fuerza frenar. Nadie los vigila, y todos hacen el mismo tipo de aritmética que un banco con su dinero. Se puede hacer con el mismo estándar, y la respuesta nunca tiene que salir de la sala donde se calculó.

una organización que conservara el trabajo podría entregarlo esa misma tarde

estás pidiendo el desarrollo, y es algo normal que pedir

y en cada caso, el desarrollo, no un resumen de él

a un organismo público, para una decisión sobre tu dinero

a un hospital, por una dosis que se calculó

a tu compañía de energía, por una factura que disputas

a tu banco, por una cifra en tu extracto

Hecho así, la respuesta no es el mejor recuerdo de alguien. Los números de los que partió se conservaron, y también lo que se les hizo y en qué orden. Vuelve a ejecutarlo y sale idéntico, no aproximado. Si el registro se alteró en el medio, eso aparece primero, antes de que nadie vuelva a ejecutar nada.

Probablemente lo has preguntado y has recibido una mala respuesta. Alguien busca la versión actual del cálculo, lo ejecuta con los números de hoy y te dice que sale más o menos bien. Nadie está siendo evasivo. La cosa que produjo tu cifra la primavera pasada ya no existe, así que no queda nada a lo que señalar.

Nada de lo cual responde a la pregunta que cualquiera haría después.

El marzo pasado sale del nuevo sistema exactamente como salió del antiguo, así que la declaración que presentaste sigue en pie y no hay tarde que perder. Pregunta cómo se llegó a una cifra y obtienes el desarrollo, no un encogimiento de hombros. Tampoco tienes que confiar en que el desarrollo se dejó intacto, porque cualquier alteración posterior aparece.

Ninguna parte de la respuesta viene de la máquina. No hay redondeo que vaya de una manera en un chip y de otra en el siguiente, ni atajo que un ordenador más rápido tome y uno más lento no. Cambia la máquina y la cifra no se mueve, y tampoco se mueve el formulario que presentaste con ella ni la carta que la citaba.

En algún lugar detrás de tu banco, tu compañía de energía o la oficina de impuestos, el software se reemplaza. Nadie te lo dice, y normalmente no te importaría. Te importa el día en que el nuevo sistema suma el año pasado y obtiene una respuesta diferente, porque el formulario que ya presentaste ya no coincide con el sistema que lo produjo, y la persona que tiene que explicarlo eres tú.

Una factura se liquida en una semana. Los documentos se vuelven a leer un año después.

Aquí el punto de redondeo se escribe una vez, antes de sumar nada, y cada copia de tu factura lo sigue. Así que no hay llamada telefónica, ni retención en la cuenta, ni tres semanas. Las copias coinciden porque se calcularon de la misma manera, no porque alguien se sentó después a hacerlas coincidir.

La razón es más pequeña de lo que parece. Los impuestos salen en fracciones de céntimo, y alguien tiene que decidir dónde se redondean esas fracciones. Un sistema redondea en cada línea. El otro redondea una vez, en el total. Ambos son razonables, y pueden terminar con un céntimo de diferencia sin que ninguno esté equivocado.

Una factura, tres copias: el recibo en tu mano, la caja de la tienda y la de tu banco. De vez en cuando dos de ellas terminan en un céntimo diferente. No se robó nada y nadie fue descuidado, y aun así eres tú quien recibe la llamada, y tú quien espera tres semanas mientras alguien decide qué copia era la correcta.

Lo suficientemente pequeño para ignorarlo, justo hasta que la cifra es lo que debes.

Esto cuenta en números enteros en su lugar, como contarías monedas, así que no sobra nada y nada se desvía. Lo que te compra es aburrido y vale la pena. Tu teléfono, el lector de tarjetas en el mostrador de la tienda y un ordenador en otro país terminan todos en la misma cifra, y el más antiguo de los tres no es menos correcto que el más nuevo.

Un ordenador escribe una décima como escribirías un tercio como decimal, es decir, no del todo. Por sí solo, el desfase es demasiado pequeño para verlo. No se queda solo: una factura tiene líneas, un año tiene doce facturas, y cada uno de esos desfases sigue en el total al final, que es la cifra que te piden pagar.

La cifra que te dieron salió de una máquina, y una máquina diferente podría haberte dado una ligeramente distinta. Pide a un ordenador una décima más dos décimas y, si le haces mostrar cada dígito que guarda, la respuesta termina en un cuatro suelto. Cada máquina hace eso, así que nadie lo nota. Cada una limpia el cuatro suelto a su manera, y así es como una misma suma, calculada aquí y calculada en otro país, termina en dos lugares diferentes.

Lo que obtienes es una cifra que responde por sí misma, y una decisión sobre ella con una fecha.

El paquete de certificación inicia la conversación con un auditor, y lo que la cierra es tu presentación contra tu propio producto, que nadie puede darte. Y si ninguna cifra que tu organización produce tiene que ser defendida ante alguien externo, la respuesta honesta es que nada de esto vale el cambio.

El medidor de energía cubre un sistema operativo en una arquitectura, y en otros casos declina en lugar de estimar. Demostrar una propiedad requiere un solucionador externo instalado, y sin él se obtienen cotas e intervalos, que son útiles y no son pruebas.

Nada lo hace. Produce evidencia, y una persona evalúa la evidencia. Mantendrá un contrato numérico mal elegido con total coherencia y producirá un registro impecable de haberlo hecho, y el registro es la parte útil en lugar de una promesa de corrección, porque una promesa no es comprobable y un registro sí lo es.