Curso completo de Lógica Aritmética Ejecutable
El perfil arithmetic convierte ST en un pequeño laboratorio ejecutable para expresiones numéricas, comparaciones, control de flujo y ejemplos pedagógicos paso a paso. Es una puerta excelente para enseñar que ST ya no solo verifica fórmulas: también puede guionar procesos lógicos y computacionales simples.
Por qué importa
Aritmética es el perfil más claro para mostrar que ST creció hacia un lenguaje explicativo completo. Aquí puedes usar números, operadores aritméticos, comparaciones, let, set, if, for, while, funciones y explain con resultados concretos. Es ideal para talleres, onboarding y cursos introductorios donde conviene mezclar lógica con ejecución visible.
Objetivos de aprendizaje
- Leer expresiones numéricas con la precedencia correcta.
- Distinguir entre resultado numérico y comparación booleana.
- Usar check valid y check satisfiable sobre desigualdades y expresiones aritméticas.
- Usar let, set, if, for y while para construir pequeños scripts ejecutables.
- Escribir funciones con fn y return para encapsular pasos repetibles.
- Aprovechar explain para convertir cálculos en ejemplos pedagógicos claros.
Accesos rápidos
Panorama del curso
Esta guía reúne la cobertura completa del perfil: conceptos, operadores, comandos, ejemplos largos, límites reales del motor y un script integral descargable para seguir probando fuera de la página. Los bloques de código se pueden ejecutar inline y abrir en el editor desplegable para probar variaciones sin salir de la documentación.
Capacidades nuevas de este perfil
- explain descompone operaciones aritméticas y comparaciones con salida pedagógica concreta.
- Arithmetic sigue siendo la capa de scripting explicativo del runtime y convive con let, set, if, for, while y fn.
- typeof ayuda a distinguir Number, String y Formula dentro del mismo lenguaje.
Aritmética explicativa
El perfil puede mostrar cálculo paso a paso y seguir usándose como pequeño laboratorio programable.
logic arithmetic
explain 2 + 3 * 4
check valid 10 % 3 > 0
let base = 2 + 3
print typeof(base)Cobertura exacta del perfil
Arithmetic ya no es un extra mínimo: soporta enteros, decimales, menos unario, cinco operadores numéricos, seis comparadores textuales o Unicode, simplificación, warnings y scripting completo.
Operadores numéricos, comparadores y formato
La cobertura real del perfil aritmético es más amplia de lo que mostraban los ejemplos viejos.
- Literales enteros y decimales
- Menos unario como `-5` y `-(3 + 2)`
- `+`, `-`, `*`, `/`, `%`
- `<`, `>`, `<=`, `>=`, `≤`, `≥`
- Render Unicode con `×`, `÷`, `≤`, `≥` y LaTeX con `\times`, `\frac`, `\leq`
- Warnings por división o módulo por cero literal
Cobertura operativa completa del perfil
Este bloque referencia todos los operadores y varias combinaciones mixtas con lógica.
logic arithmetic
check valid 3 < 5
check valid 5 > 3
check valid 1 <= 2
check valid 5 >= 5
check valid 3 ≤ 5
check valid 5 ≥ 3
check satisfiable 2 + 2 > 3
explain 2 + 3
explain 10 - 4
explain 3 * 5
explain 10 / 2
explain 10 % 3
explain 2 + 3 * 4
explain -(3 + 2)
let X = 2 + 3
print X
set X = 2 * 5
print X
axiom mezcla = (1 < 2) & (3 > 1)
print mezcla
countermodel 5 < 3Conceptos fundamentales
1. Aritmética como perfil ejecutable
En arithmetic, ST interpreta expresiones como 2 + 3, 8 / 2 o 10 % 3 y comparaciones como 5 > 2 o 4 <= 4. Ya no estás trabajando solo con tablas de verdad clásicas, sino con evaluación numérica y condiciones verdaderas o falsas a partir de operaciones aritméticas.
2. Comparaciones como fórmulas verificables
Expresiones como 2 + 3 < 10 o 8 / 2 >= 4 producen fórmulas que el motor puede tratar como válidas o satisfacibles dentro del perfil arithmetic. Esto permite reutilizar comandos como check valid, countermodel o explain sobre expresiones numéricas.
3. ST como lenguaje guiado
Arithmetic es también el mejor lugar para enseñar let, set, print, if, for, while y fn porque los resultados son inmediatos y concretos. El estudiante ve cómo cambia el estado y cómo una condición deja de cumplirse al reasignar una variable.
4. Explain con resultados concretos
Mientras otros perfiles explican estructura lógica, arithmetic además devuelve el resultado evaluado. Así puedes mostrar no solo la forma de una expresión, sino también el valor que produce y el porqué de una comparación verdadera o falsa.
Operadores y formas expresivas
A + BSuma
Agrega dos expresiones numéricas y devuelve un nuevo valor.
logic arithmetic
logic arithmetic
explain 2 + 3
check valid 2 + 3 < 10A - BResta
Resta una cantidad a otra. También soporta menos unario mediante reescritura interna.
logic arithmetic
logic arithmetic
explain 10 - 4
explain -(3 + 2)A * BMultiplicación
Multiplica dos expresiones; tiene mayor precedencia que + y -.
logic arithmetic
logic arithmetic
explain 2 + 3 * 4
explain (2 + 3) * 4A / BDivisión
Divide una expresión por otra; sirve para construir comparaciones evaluables.
logic arithmetic
logic arithmetic
check valid 8 / 2 >= 4
explain 10 / 2A % BMódulo
Devuelve el residuo de una división entera.
logic arithmetic
logic arithmetic
explain 10 % 3
check valid 10 % 3 > 0A < B, A > B, A <= B, A >= BComparaciones
Producen fórmulas verdaderas o falsas que pueden usarse en check, if o while.
logic arithmetic
logic arithmetic
check valid 2 + 3 < 10
check satisfiable 5 > 3Comandos que debes dominar
Validez aritmética
Comprueba que una desigualdad o comparación sale verdadera en el cálculo planteado.
logic arithmetic
check valid 2 + 3 < 10
check valid (2 * 3) >= 6Explicación numérica
Usa explain para obtener lectura y resultado de una expresión.
logic arithmetic
explain 2 + 3 * 4
explain 10 > 5Variables y reasignación
Usa let y set para construir pequeños scripts con estado legible.
logic arithmetic
let X = 2 + 3
print X
set X = 2 * 5
print XCondicionales y loops
Combina arithmetic con if, for y while para mostrar procesos paso a paso.
logic arithmetic
if valid 8 / 2 >= 4 {
print "division ok"
}
for N in { 1, 2, 3 } {
print N
}
set LOOP = 1
while satisfiable LOOP {
print "loop arithmetic"
set LOOP = 0
}Funciones
Encapsula secuencias reutilizables con fn y return.
logic arithmetic
fn calcular(A, B) {
print A
print B
explain A + B
return A + B
}
calcular(4, 5)ST como herramienta pedagógica en esta lógica
Esta sección no solo enseña la lógica, sino también cómo usar `ST` para explicarla mejor: con aliases semánticos, funciones reutilizables, condicionales, recorridos guiados y salidas legibles para clase, taller o autoestudio.
Script docente con estado visible
Muestra la versión más clara de ST como lenguaje pedagógico: variables, mutación, función y control de flujo en una sola escena.
logic arithmetic
let base = 2 + 3
print base
fn revisar(X) {
explain X
return X
}
revisar(base * 4)
if valid base < 10 {
print "la base es pequeña"
}
for N in { 1, 2, 3 } {
explain N + base
}Mini simulación de aula
Enseña cómo una condición cambia al reasignar el estado con set.
logic arithmetic
let contador = 3
while satisfiable contador > 0 {
print contador
set contador = contador - 1
}
if valid contador < 1 {
print "el contador terminó"
}Lecciones prácticas largas
Ejemplo 1 · Cálculo y comparación
Empieza por expresiones cortas y comparaciones directas.
logic arithmetic
check valid 2 + 3 < 10
check valid (2 * 3) >= 6
check satisfiable 10 % 3 > 0
explain 2 + 3 * 4
explain 10 > 5Ejemplo 2 · Variables y mutación
Muestra cómo el estado puede cambiar de manera controlada.
logic arithmetic
let X = 2 + 3
print X
set X = 2 * 5
print XEjemplo 3 · Flujo de control
Convierte una verificación en un flujo legible para una clase o demo.
logic arithmetic
if valid 8 / 2 >= 4 {
print "division ok"
} else {
print "division fail"
}
for N in { 1, 2, 3 } {
print N
}
set LOOP = 1
while satisfiable LOOP {
print "loop arithmetic"
set LOOP = 0
}Ejemplo 4 · Función reutilizable
Agrupa pasos repetibles y explica resultados en un solo bloque.
logic arithmetic
fn calcular(A, B) {
print A
print B
explain A + B
return A + B
}
calcular(4, 5)Ejemplo 5 · Script completo de aula
Una mini lección ejecutable que mezcla cálculo, control de flujo y explicación.
logic arithmetic
print "=== arithmetic-course ==="
let base = 2 + 3
print base
if valid base < 10 {
print "base pequeña"
}
for Caso in { 1, 2, 3 } {
print Caso
}
fn revisar(X) {
explain X
check satisfiable X > 0
}
revisar(4 + 5)
countermodel 5 < 3Errores frecuentes al estudiar esta lógica
- Confundir explain con check valid: uno explica y evalúa; el otro verifica un estatus lógico.
- Olvidar que la precedencia hace que 2 + 3 * 4 no sea lo mismo que (2 + 3) * 4.
- Usar while sin cambiar el estado con set y provocar iteraciones innecesarias.
- Esperar que print suma(2, 3) muestre 5 de inmediato: el runtime suele conservar la fórmula retornada y otros comandos la evalúan sobre el perfil.
- Tratar una comparación como si fuera un número cuando ya produce un resultado booleano del perfil.
Límites del motor y advertencias
- La división por cero puede producir resultados no útiles para docencia rigurosa; conviene evitarla en materiales introductorios.
- while tiene un límite de seguridad de 1000 iteraciones.
- Las funciones retornan fórmulas reutilizables, pero print suele mostrar la expresión resultante y no siempre su reducción aritmética final.
- Arithmetic está orientado a ejemplos pedagógicos y scripting ligero, no a álgebra simbólica avanzada.
Cómo conecta con otras lógicas
- Es el mejor perfil para enseñar el nuevo ST como lenguaje ejecutable, no solo lógico.
- Sirve como puente entre estudiantes que vienen de programación y estudiantes que vienen de lógica formal.
- Prepara muy bien la entrada a ejemplos con Text Layer, analyze y explain dentro de materiales educativos.
- Ayuda a prototipar mini simulaciones y laboratorios visibles antes de pasar a perfiles más abstractos.