prototype version¶

version.png

In [8]:
import joblib

sa_vec = joblib.load("sa_vectorizer.joblib")
esa_vec = joblib.load("esa_vectorizer.joblib")

print("sa vectorizer vocab size:", len(sa_vec.get_feature_names_out()))
print("esa vectorizer vocab size:", len(esa_vec.get_feature_names_out()))
sa vectorizer vocab size: 10000
esa vectorizer vocab size: 10000
In [11]:
def load_txt_lines(path):
    with open(path, encoding="utf-8") as f:
        return [line.strip() for line in f if line.strip()]

train_medium = load_txt_lines("math/train-medium/arithmetic__div.txt")
# Similarly load train-medium, train-hard, test, etc.
In [12]:
from sklearn.feature_extraction.text import TfidfVectorizer

# For standalone TF‑IDF transformation:
X_train_sa = sa_vec.transform(train_medium)
X_train_esa = esa_vec.transform(train_medium)

print("SA matrix shape:", X_train_sa.shape)
print("ESA matrix shape:", X_train_esa.shape)
SA matrix shape: (1333332, 10000)
ESA matrix shape: (1333332, 10000)
In [13]:
def load_lines(path):
    return [line.strip() for line in open(path, encoding="utf-8") if line.strip()]

train = load_lines("math/train-medium/polynomials__collect.txt")  # adjust paths
test = load_lines("math/interpolate/calculus__differentiate.txt")

print("Train count:", len(train), "Test count:", len(test))
Train count: 1333332 Test count: 20000
In [15]:
from sklearn.decomposition import TruncatedSVD
import matplotlib.pyplot as plt

# Reduce ESA features to 2D
svd = TruncatedSVD(n_components=2)
coords = svd.fit_transform(X_train_esa)

plt.figure(figsize=(6, 6))
plt.scatter(coords[:, 0], coords[:, 1], s=5, alpha=0.5)
plt.title("ESA Feature PCA Projection")
plt.xlabel("PC1")
plt.ylabel("PC2")
plt.show()
No description has been provided for this image
In [17]:
# Test for variance
from sklearn.decomposition import TruncatedSVD
import matplotlib.pyplot as plt

svd = TruncatedSVD(n_components=2)
coords = svd.fit_transform(X_train_esa)
ratios = svd.explained_variance_ratio_

plt.figure(figsize=(6,4))
plt.plot(range(1, len(ratios)+1), ratios, 'o-')
plt.title("Scree Plot: Explained Variance by Component")
plt.xlabel("Component Number")
plt.ylabel("Explained Variance Ratio")
plt.grid(True)
plt.show()
No description has been provided for this image
In [16]:
import numpy as np

components = svd.components_  
feature_names = esa_vec.get_feature_names_out()  

for idx, pc in enumerate(components):
    top_idx = np.argsort(np.abs(pc))[::-1][:10]
    print(f"Top features for PC{idx + 1}:")
    for i in top_idx:
        print(f"  {feature_names[i]} (loading {pc[i]:.3f})")
    print()
Top features for PC1:
  divided (loading 0.987)
  calculate (loading 0.161)
  10 (loading 0.003)
  11 (loading 0.003)
  12 (loading 0.002)
  13 (loading 0.002)
  14 (loading 0.002)
  15 (loading 0.002)
  16 (loading 0.002)
  17 (loading 0.002)

Top features for PC2:
  divide (loading 1.000)
  10 (loading 0.003)
  11 (loading 0.003)
  12 (loading 0.003)
  13 (loading 0.002)
  14 (loading 0.002)
  15 (loading 0.002)
  16 (loading 0.002)
  17 (loading 0.002)
  18 (loading 0.002)

In [18]:
import pandas as pd
import seaborn as sns

loadings = svd.components_.T  # shape: (n_features × 2)
feature_names = esa_vec.get_feature_names_out()  # your concept names

df_load = pd.DataFrame(loadings, index=feature_names, columns=["PC1", "PC2"])
top = df_load.abs().sum(axis=1).sort_values(ascending=False).head(20)
df_top = df_load.loc[top.index]

plt.figure(figsize=(8,10))
sns.heatmap(df_top, cmap="coolwarm", annot=True, fmt=".2f")
plt.title("Top 20 Feature Loadings on PC1 & PC2")
plt.xlabel("Principal Components")
plt.ylabel("Features")
plt.show()
No description has been provided for this image
In [19]:
import glob
import os

label_paths = glob.glob("math/interpolate/*.txt")
labels = []

for path in label_paths:
    label = os.path.basename(os.path.dirname(path))  
    labels.append(label)

print(f"Found {len(labels)} labels from interpolate/")
Found 56 labels from interpolate/
In [21]:
import glob, os
from sklearn.feature_extraction.text import TfidfVectorizer

# Check working directory
print("Current working directory:", os.getcwd())

# List concept files
paths = glob.glob("math/train-medium/*.txt")
print("Found concept files:", paths)

# Load into docs list
docs = []
for path in paths:
    with open(path, encoding='utf-8') as f:
        docs.append(f.read())

print("\nLoaded docs count:", len(docs))

# Preview first document
if docs:
    print("\nPreview:", docs[0][:200], "…")

# Build TF-IDF model
concept_vec = TfidfVectorizer(stop_words='english', max_features=10000)
X_concepts = concept_vec.fit_transform(docs)
print("\nConcept matrix shape:", X_concepts.shape)
Current working directory: /home/rc/version-sdk/sandbox
Found concept files: ['math/train-medium/numbers__place_value_composed.txt', 'math/train-medium/arithmetic__simplify_surd.txt', 'math/train-medium/arithmetic__mul_div_multiple.txt', 'math/train-medium/calculus__differentiate_composed.txt', 'math/train-medium/probability__swr_p_level_set.txt', 'math/train-medium/numbers__lcm.txt', 'math/train-medium/arithmetic__add_or_sub.txt', 'math/train-medium/numbers__gcd_composed.txt', 'math/train-medium/calculus__differentiate.txt', 'math/train-medium/numbers__is_prime_composed.txt', 'math/train-medium/numbers__round_number.txt', 'math/train-medium/polynomials__add.txt', 'math/train-medium/arithmetic__add_sub_multiple.txt', 'math/train-medium/algebra__polynomial_roots_composed.txt', 'math/train-medium/arithmetic__div.txt', 'math/train-medium/measurement__time.txt', 'math/train-medium/numbers__is_factor.txt', 'math/train-medium/numbers__lcm_composed.txt', 'math/train-medium/numbers__place_value.txt', 'math/train-medium/algebra__sequence_nth_term.txt', 'math/train-medium/comparison__kth_biggest.txt', 'math/train-medium/algebra__linear_1d_composed.txt', 'math/train-medium/numbers__is_factor_composed.txt', 'math/train-medium/numbers__base_conversion.txt', 'math/train-medium/algebra__polynomial_roots.txt', 'math/train-medium/numbers__gcd.txt', 'math/train-medium/algebra__sequence_next_term.txt', 'math/train-medium/arithmetic__mixed.txt', 'math/train-medium/polynomials__expand.txt', 'math/train-medium/numbers__list_prime_factors_composed.txt', 'math/train-medium/numbers__list_prime_factors.txt', 'math/train-medium/arithmetic__add_or_sub_in_base.txt', 'math/train-medium/polynomials__compose.txt', 'math/train-medium/comparison__closest_composed.txt', 'math/train-medium/numbers__is_prime.txt', 'math/train-medium/numbers__round_number_composed.txt', 'math/train-medium/numbers__div_remainder.txt', 'math/train-medium/numbers__div_remainder_composed.txt', 'math/train-medium/algebra__linear_2d_composed.txt', 'math/train-medium/comparison__sort_composed.txt', 'math/train-medium/measurement__conversion.txt', 'math/train-medium/polynomials__simplify_power.txt', 'math/train-medium/comparison__kth_biggest_composed.txt', 'math/train-medium/probability__swr_p_sequence.txt', 'math/train-medium/algebra__linear_1d.txt', 'math/train-medium/algebra__linear_2d.txt', 'math/train-medium/arithmetic__mul.txt', 'math/train-medium/comparison__pair.txt', 'math/train-medium/polynomials__evaluate.txt', 'math/train-medium/polynomials__coefficient_named.txt', 'math/train-medium/arithmetic__nearest_integer_root.txt', 'math/train-medium/comparison__closest.txt', 'math/train-medium/comparison__sort.txt', 'math/train-medium/polynomials__collect.txt', 'math/train-medium/comparison__pair_composed.txt', 'math/train-medium/polynomials__evaluate_composed.txt']

Loaded docs count: 56

Preview: Let s be -2 + (-2)/(-1 - -2). Let g(b) = 3*b**2 - b + 5. What is the units digit of g(s)?
7
What is the hundreds digit of ((-826)/(-3))/(62/279)?
2
Suppose -4*z = 2*u - 158, -3*z - 2*z + 4*u + 191 = 0 …

Concept matrix shape: (56, 10000)
In [23]:
import matplotlib.pyplot as plt

# Select top K features by magnitude
K = 10
scores = coords
loadings = svd.components_.T
mags = np.linalg.norm(loadings, axis=1)
top_features = np.argsort(mags)[::-1][:K]

plt.figure(figsize=(7, 7))
plt.scatter(scores[:, 0], scores[:, 1], s=5, alpha=0.4)

for i in top_features:
    x, y = loadings[i] * np.abs(scores).max(axis=0)
    plt.arrow(0, 0, x, y, color='green', alpha=0.6, width=0.005)
    plt.text(x * 1.1, y * 1.1, feature_names[i], color='orange', fontsize=9)

plt.xlabel("PC1")
plt.ylabel("PC2")
plt.title("ESA Biplot with Top Concept Loadings")
plt.grid(alpha=0.3)
plt.show()
No description has been provided for this image
In [33]:
import glob
import os
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.preprocessing import LabelEncoder

def load_docs_and_labels(base_path):
    paths = glob.glob(os.path.join(base_path, "*.txt"))
    docs = []
    labels = []

    for path in paths:
        with open(path, encoding='utf-8') as f:
            docs.append(f.read())

        # Extract label from file name prefix before '__'
        filename = os.path.basename(path)
        label = filename.split("__")[0]
        labels.append(label)

    print(f"Loaded {len(docs)} docs from {base_path}")
    return docs, labels

# === Train set ===
train_docs, train_labels = load_docs_and_labels("math/train-medium")

# Fit TF-IDF on train
concept_vec = TfidfVectorizer(stop_words='english', max_features=10000)
X_train = concept_vec.fit_transform(train_docs)

# Encode labels
le = LabelEncoder()
y_train = le.fit_transform(train_labels)

print("\nTrain matrix shape:", X_train.shape)
print("y_train shape:", y_train.shape)
print("Label classes:", le.classes_)

# === Interpolate set ===
interpolate_docs, interpolate_labels = load_docs_and_labels("math/interpolate")

X_interpolate = concept_vec.transform(interpolate_docs)
y_interpolate = le.transform(interpolate_labels)

print("\nInterpolate matrix shape:", X_interpolate.shape)
print("y_interpolate shape:", y_interpolate.shape)

# === Extrapolate set ===
extrapolate_docs, extrapolate_labels = load_docs_and_labels("math/extrapolate")

X_extrapolate = concept_vec.transform(extrapolate_docs)
y_extrapolate = le.transform(extrapolate_labels)

print("\nExtrapolate matrix shape:", X_extrapolate.shape)
print("y_extrapolate shape:", y_extrapolate.shape)

# === Final shape summary ===
print("\nFinal shape summary:")
print("Train X:", X_train.shape, "Train y:", y_train.shape)
print("Interpolate X:", X_interpolate.shape, "Interpolate y:", y_interpolate.shape)
print("Extrapolate X:", X_extrapolate.shape, "Extrapolate y:", y_extrapolate.shape)
Loaded 56 docs from math/train-medium

Train matrix shape: (56, 10000)
y_train shape: (56,)
Label classes: ['algebra' 'arithmetic' 'calculus' 'comparison' 'measurement' 'numbers'
 'polynomials' 'probability']
Loaded 56 docs from math/interpolate

Interpolate matrix shape: (56, 10000)
y_interpolate shape: (56,)
Loaded 15 docs from math/extrapolate

Extrapolate matrix shape: (15, 10000)
y_extrapolate shape: (15,)

Final shape summary:
Train X: (56, 10000) Train y: (56,)
Interpolate X: (56, 10000) Interpolate y: (56,)
Extrapolate X: (15, 10000) Extrapolate y: (15,)
In [37]:
import numpy as np
import tensorflow as tf
import random

# Set seeds
np.random.seed(578)
tf.random.set_seed(578)
random.seed(578)

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout

version_prototype = Sequential([
    Dense(128, activation='relu', input_shape=(X_train.shape[1],)),
    Dropout(0.3),
    Dense(len(np.unique(y_train)), activation='softmax')
])

version_prototype.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

version_prototype.fit(X_train, y_train, epochs=10, batch_size=32, validation_split=0.2)
Epoch 1/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 377ms/step - accuracy: 0.1070 - loss: 2.0807 - val_accuracy: 0.0833 - val_loss: 2.0816
Epoch 2/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 131ms/step - accuracy: 0.4650 - loss: 2.0568 - val_accuracy: 0.1667 - val_loss: 2.0766
Epoch 3/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 128ms/step - accuracy: 0.6383 - loss: 2.0373 - val_accuracy: 0.2500 - val_loss: 2.0713
Epoch 4/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 132ms/step - accuracy: 0.6638 - loss: 2.0105 - val_accuracy: 0.2500 - val_loss: 2.0661
Epoch 5/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 146ms/step - accuracy: 0.6686 - loss: 1.9918 - val_accuracy: 0.2500 - val_loss: 2.0610
Epoch 6/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 137ms/step - accuracy: 0.6941 - loss: 1.9732 - val_accuracy: 0.2500 - val_loss: 2.0557
Epoch 7/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 150ms/step - accuracy: 0.7604 - loss: 1.9461 - val_accuracy: 0.2500 - val_loss: 2.0501
Epoch 8/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 160ms/step - accuracy: 0.7348 - loss: 1.9189 - val_accuracy: 0.2500 - val_loss: 2.0441
Epoch 9/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 170ms/step - accuracy: 0.6733 - loss: 1.8922 - val_accuracy: 0.2500 - val_loss: 2.0378
Epoch 10/10
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 140ms/step - accuracy: 0.7197 - loss: 1.8681 - val_accuracy: 0.2500 - val_loss: 2.0312
Out[37]:
<keras.src.callbacks.history.History at 0x725d3b8d0df0>
In [25]:
print("Train shape:", X_train.shape)
print("Test shape:", X_test.shape)
Train shape: (56, 10000)
Test shape: (56, 10000)
In [55]:
# Evaluate on interpolate
interpolate_loss, interpolate_acc = version_prototype.evaluate(X_interpolate, y_interpolate, verbose=1)
print(f"\nInterpolate set accuracy: {interpolate_acc:.4f}")

# Evaluate on extrapolate
extrapolate_loss, extrapolate_acc = version_prototype.evaluate(X_extrapolate, y_extrapolate, verbose=1)
print(f"\nExtrapolate set accuracy: {extrapolate_acc:.4f}")
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 51ms/step - accuracy: 0.6890 - loss: 1.8640

Interpolate set accuracy: 0.6429
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 75ms/step - accuracy: 0.8000 - loss: 1.8021

Extrapolate set accuracy: 0.8000

--------------------------------------------------------------------------¶

In [56]:
from sklearn.metrics import classification_report, confusion_matrix
import seaborn as sns
import matplotlib.pyplot as plt

y_pred_interpolate = version_prototype.predict(X_interpolate)
y_pred_interpolate_classes = np.argmax(y_pred_interpolate, axis=1)

print("\nInterpolate classification report:")
print(classification_report(y_interpolate, y_pred_interpolate_classes, target_names=le.classes_))
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 40ms/step

Interpolate classification report:
              precision    recall  f1-score   support

     algebra       1.00      0.88      0.93         8
  arithmetic       1.00      0.67      0.80         9
    calculus       1.00      0.50      0.67         2
  comparison       1.00      0.12      0.22         8
 measurement       1.00      0.50      0.67         2
     numbers       0.46      1.00      0.63        17
 polynomials       1.00      0.12      0.22         8
 probability       1.00      1.00      1.00         2

    accuracy                           0.64        56
   macro avg       0.93      0.60      0.64        56
weighted avg       0.84      0.64      0.60        56

In [57]:
loss, acc = version_prototype.evaluate(X_interpolate, y_interpolate)
print(f"\nInterpolate set accuracy: {acc:.4f}")
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 45ms/step - accuracy: 0.6890 - loss: 1.8640

Interpolate set accuracy: 0.6429
In [58]:
y_pred_probs = version_prototype.predict(X_interpolate)
y_pred_classes = np.argmax(y_pred_probs, axis=1)
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 42ms/step
In [47]:
cm = confusion_matrix(y_interpolate, y_pred_classes, labels=range(len(le.classes_)))

plt.figure(figsize=(10, 8))
sns.heatmap(cm, annot=True, fmt="d", cmap="Blues", xticklabels=le.classes_, yticklabels=le.classes_)
plt.title("Confusion Matrix - Interpolate Set")
plt.ylabel("True label")
plt.xlabel("Predicted label")
plt.show()
No description has been provided for this image

------------------------------------------------------------------------¶

In [48]:
loss, acc = version_prototype.evaluate(X_extrapolate, y_extrapolate)
print(f"\nExtrapolate set accuracy: {acc:.4f}")
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 90ms/step - accuracy: 0.8000 - loss: 1.8021

Extrapolate set accuracy: 0.8000
In [61]:
y_pred_probs = version_prototype.predict(X_extrapolate)
y_pred_classes = np.argmax(y_pred_probs, axis=1)
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 79ms/step
In [62]:
print("\nExtrapolate classification report:")
print(classification_report(
    y_extrapolate, y_pred_classes,
    labels=range(len(le.classes_)),
    target_names=le.classes_,
    zero_division=0
))
Extrapolate classification report:
              precision    recall  f1-score   support

     algebra       1.00      1.00      1.00         1
  arithmetic       1.00      0.83      0.91         6
    calculus       0.00      0.00      0.00         0
  comparison       1.00      0.33      0.50         3
 measurement       1.00      1.00      1.00         1
     numbers       0.40      1.00      0.57         2
 polynomials       0.00      0.00      0.00         0
 probability       1.00      1.00      1.00         2

    accuracy                           0.80        15
   macro avg       0.68      0.65      0.62        15
weighted avg       0.92      0.80      0.81        15

In [51]:
cm = confusion_matrix(y_extrapolate, y_pred_classes, labels=range(len(le.classes_)))

plt.figure(figsize=(10, 8))
sns.heatmap(cm, annot=True, fmt="d", cmap="Greens", xticklabels=le.classes_, yticklabels=le.classes_)
plt.title("Confusion Matrix - Extrapolate Set")
plt.ylabel("True label")
plt.xlabel("Predicted label")
plt.show()
No description has been provided for this image

--------------------------------------------------------------------------------¶

In [32]:
import os
from glob import glob

print("Working directory:", os.getcwd())
print("Top-level items:", os.listdir("."))

matches = glob("**/*", recursive=True)
print("All files and folders:")
for item in matches:
    print("  ", item)
Working directory: /home/rc/version-sdk/sandbox
Top-level items: ['tabulartest.py', 'math', '__pycache__', 'dev', 'sa_vectorizer.joblib', 'esa_vectorizer.joblib', 'prototype.ipynb', 'notes.sh', 'vectorizertest.py', '.ipynb_checkpoints']
All files and folders:
   tabulartest.py
   math
   __pycache__
   dev
   sa_vectorizer.joblib
   esa_vectorizer.joblib
   prototype.ipynb
   notes.sh
   vectorizertest.py
   math/train-easy
   math/train-medium
   math/train-readme.txt
   math/train-hard
   math/extrapolate
   math/interpolate
   math/train-easy/numbers__place_value_composed.txt
   math/train-easy/arithmetic__simplify_surd.txt
   math/train-easy/arithmetic__mul_div_multiple.txt
   math/train-easy/calculus__differentiate_composed.txt
   math/train-easy/probability__swr_p_level_set.txt
   math/train-easy/numbers__lcm.txt
   math/train-easy/arithmetic__add_or_sub.txt
   math/train-easy/numbers__gcd_composed.txt
   math/train-easy/calculus__differentiate.txt
   math/train-easy/numbers__is_prime_composed.txt
   math/train-easy/numbers__round_number.txt
   math/train-easy/polynomials__add.txt
   math/train-easy/arithmetic__add_sub_multiple.txt
   math/train-easy/algebra__polynomial_roots_composed.txt
   math/train-easy/arithmetic__div.txt
   math/train-easy/measurement__time.txt
   math/train-easy/numbers__is_factor.txt
   math/train-easy/numbers__lcm_composed.txt
   math/train-easy/numbers__place_value.txt
   math/train-easy/algebra__sequence_nth_term.txt
   math/train-easy/comparison__kth_biggest.txt
   math/train-easy/algebra__linear_1d_composed.txt
   math/train-easy/numbers__is_factor_composed.txt
   math/train-easy/numbers__base_conversion.txt
   math/train-easy/algebra__polynomial_roots.txt
   math/train-easy/numbers__gcd.txt
   math/train-easy/algebra__sequence_next_term.txt
   math/train-easy/arithmetic__mixed.txt
   math/train-easy/polynomials__expand.txt
   math/train-easy/numbers__list_prime_factors_composed.txt
   math/train-easy/numbers__list_prime_factors.txt
   math/train-easy/arithmetic__add_or_sub_in_base.txt
   math/train-easy/polynomials__compose.txt
   math/train-easy/comparison__closest_composed.txt
   math/train-easy/numbers__is_prime.txt
   math/train-easy/numbers__round_number_composed.txt
   math/train-easy/numbers__div_remainder.txt
   math/train-easy/numbers__div_remainder_composed.txt
   math/train-easy/algebra__linear_2d_composed.txt
   math/train-easy/comparison__sort_composed.txt
   math/train-easy/measurement__conversion.txt
   math/train-easy/polynomials__simplify_power.txt
   math/train-easy/comparison__kth_biggest_composed.txt
   math/train-easy/probability__swr_p_sequence.txt
   math/train-easy/algebra__linear_1d.txt
   math/train-easy/algebra__linear_2d.txt
   math/train-easy/arithmetic__mul.txt
   math/train-easy/comparison__pair.txt
   math/train-easy/polynomials__evaluate.txt
   math/train-easy/polynomials__coefficient_named.txt
   math/train-easy/arithmetic__nearest_integer_root.txt
   math/train-easy/comparison__closest.txt
   math/train-easy/comparison__sort.txt
   math/train-easy/polynomials__collect.txt
   math/train-easy/comparison__pair_composed.txt
   math/train-easy/polynomials__evaluate_composed.txt
   math/train-medium/numbers__place_value_composed.txt
   math/train-medium/arithmetic__simplify_surd.txt
   math/train-medium/arithmetic__mul_div_multiple.txt
   math/train-medium/calculus__differentiate_composed.txt
   math/train-medium/probability__swr_p_level_set.txt
   math/train-medium/numbers__lcm.txt
   math/train-medium/arithmetic__add_or_sub.txt
   math/train-medium/numbers__gcd_composed.txt
   math/train-medium/calculus__differentiate.txt
   math/train-medium/numbers__is_prime_composed.txt
   math/train-medium/numbers__round_number.txt
   math/train-medium/polynomials__add.txt
   math/train-medium/arithmetic__add_sub_multiple.txt
   math/train-medium/algebra__polynomial_roots_composed.txt
   math/train-medium/arithmetic__div.txt
   math/train-medium/measurement__time.txt
   math/train-medium/numbers__is_factor.txt
   math/train-medium/numbers__lcm_composed.txt
   math/train-medium/numbers__place_value.txt
   math/train-medium/algebra__sequence_nth_term.txt
   math/train-medium/comparison__kth_biggest.txt
   math/train-medium/algebra__linear_1d_composed.txt
   math/train-medium/numbers__is_factor_composed.txt
   math/train-medium/numbers__base_conversion.txt
   math/train-medium/algebra__polynomial_roots.txt
   math/train-medium/numbers__gcd.txt
   math/train-medium/algebra__sequence_next_term.txt
   math/train-medium/arithmetic__mixed.txt
   math/train-medium/polynomials__expand.txt
   math/train-medium/numbers__list_prime_factors_composed.txt
   math/train-medium/numbers__list_prime_factors.txt
   math/train-medium/arithmetic__add_or_sub_in_base.txt
   math/train-medium/polynomials__compose.txt
   math/train-medium/comparison__closest_composed.txt
   math/train-medium/numbers__is_prime.txt
   math/train-medium/numbers__round_number_composed.txt
   math/train-medium/numbers__div_remainder.txt
   math/train-medium/numbers__div_remainder_composed.txt
   math/train-medium/algebra__linear_2d_composed.txt
   math/train-medium/comparison__sort_composed.txt
   math/train-medium/measurement__conversion.txt
   math/train-medium/polynomials__simplify_power.txt
   math/train-medium/comparison__kth_biggest_composed.txt
   math/train-medium/probability__swr_p_sequence.txt
   math/train-medium/algebra__linear_1d.txt
   math/train-medium/algebra__linear_2d.txt
   math/train-medium/arithmetic__mul.txt
   math/train-medium/comparison__pair.txt
   math/train-medium/polynomials__evaluate.txt
   math/train-medium/polynomials__coefficient_named.txt
   math/train-medium/arithmetic__nearest_integer_root.txt
   math/train-medium/comparison__closest.txt
   math/train-medium/comparison__sort.txt
   math/train-medium/polynomials__collect.txt
   math/train-medium/comparison__pair_composed.txt
   math/train-medium/polynomials__evaluate_composed.txt
   math/train-hard/numbers__place_value_composed.txt
   math/train-hard/arithmetic__simplify_surd.txt
   math/train-hard/arithmetic__mul_div_multiple.txt
   math/train-hard/calculus__differentiate_composed.txt
   math/train-hard/probability__swr_p_level_set.txt
   math/train-hard/numbers__lcm.txt
   math/train-hard/arithmetic__add_or_sub.txt
   math/train-hard/numbers__gcd_composed.txt
   math/train-hard/calculus__differentiate.txt
   math/train-hard/numbers__is_prime_composed.txt
   math/train-hard/numbers__round_number.txt
   math/train-hard/polynomials__add.txt
   math/train-hard/arithmetic__add_sub_multiple.txt
   math/train-hard/algebra__polynomial_roots_composed.txt
   math/train-hard/arithmetic__div.txt
   math/train-hard/measurement__time.txt
   math/train-hard/numbers__is_factor.txt
   math/train-hard/numbers__lcm_composed.txt
   math/train-hard/numbers__place_value.txt
   math/train-hard/algebra__sequence_nth_term.txt
   math/train-hard/comparison__kth_biggest.txt
   math/train-hard/algebra__linear_1d_composed.txt
   math/train-hard/numbers__is_factor_composed.txt
   math/train-hard/numbers__base_conversion.txt
   math/train-hard/algebra__polynomial_roots.txt
   math/train-hard/numbers__gcd.txt
   math/train-hard/algebra__sequence_next_term.txt
   math/train-hard/arithmetic__mixed.txt
   math/train-hard/polynomials__expand.txt
   math/train-hard/numbers__list_prime_factors_composed.txt
   math/train-hard/numbers__list_prime_factors.txt
   math/train-hard/arithmetic__add_or_sub_in_base.txt
   math/train-hard/polynomials__compose.txt
   math/train-hard/comparison__closest_composed.txt
   math/train-hard/numbers__is_prime.txt
   math/train-hard/numbers__round_number_composed.txt
   math/train-hard/numbers__div_remainder.txt
   math/train-hard/numbers__div_remainder_composed.txt
   math/train-hard/algebra__linear_2d_composed.txt
   math/train-hard/comparison__sort_composed.txt
   math/train-hard/measurement__conversion.txt
   math/train-hard/polynomials__simplify_power.txt
   math/train-hard/comparison__kth_biggest_composed.txt
   math/train-hard/probability__swr_p_sequence.txt
   math/train-hard/algebra__linear_1d.txt
   math/train-hard/algebra__linear_2d.txt
   math/train-hard/arithmetic__mul.txt
   math/train-hard/comparison__pair.txt
   math/train-hard/polynomials__evaluate.txt
   math/train-hard/polynomials__coefficient_named.txt
   math/train-hard/arithmetic__nearest_integer_root.txt
   math/train-hard/comparison__closest.txt
   math/train-hard/comparison__sort.txt
   math/train-hard/polynomials__collect.txt
   math/train-hard/comparison__pair_composed.txt
   math/train-hard/polynomials__evaluate_composed.txt
   math/extrapolate/arithmetic__mixed_longer.txt
   math/extrapolate/probability__swr_p_sequence_more_samples.txt
   math/extrapolate/numbers__round_number_big.txt
   math/extrapolate/arithmetic__div_big.txt
   math/extrapolate/algebra__polynomial_roots_big.txt
   math/extrapolate/arithmetic__add_or_sub_big.txt
   math/extrapolate/comparison__kth_biggest_more.txt
   math/extrapolate/comparison__closest_more.txt
   math/extrapolate/comparison__sort_more.txt
   math/extrapolate/arithmetic__mul_div_multiple_longer.txt
   math/extrapolate/numbers__place_value_big.txt
   math/extrapolate/arithmetic__mul_big.txt
   math/extrapolate/probability__swr_p_level_set_more_samples.txt
   math/extrapolate/measurement__conversion.txt
   math/extrapolate/arithmetic__add_sub_multiple_longer.txt
   math/interpolate/numbers__place_value_composed.txt
   math/interpolate/arithmetic__simplify_surd.txt
   math/interpolate/arithmetic__mul_div_multiple.txt
   math/interpolate/calculus__differentiate_composed.txt
   math/interpolate/probability__swr_p_level_set.txt
   math/interpolate/numbers__lcm.txt
   math/interpolate/arithmetic__add_or_sub.txt
   math/interpolate/numbers__gcd_composed.txt
   math/interpolate/calculus__differentiate.txt
   math/interpolate/numbers__is_prime_composed.txt
   math/interpolate/numbers__round_number.txt
   math/interpolate/polynomials__add.txt
   math/interpolate/arithmetic__add_sub_multiple.txt
   math/interpolate/algebra__polynomial_roots_composed.txt
   math/interpolate/arithmetic__div.txt
   math/interpolate/measurement__time.txt
   math/interpolate/numbers__is_factor.txt
   math/interpolate/numbers__lcm_composed.txt
   math/interpolate/numbers__place_value.txt
   math/interpolate/algebra__sequence_nth_term.txt
   math/interpolate/comparison__kth_biggest.txt
   math/interpolate/algebra__linear_1d_composed.txt
   math/interpolate/numbers__is_factor_composed.txt
   math/interpolate/numbers__base_conversion.txt
   math/interpolate/algebra__polynomial_roots.txt
   math/interpolate/numbers__gcd.txt
   math/interpolate/algebra__sequence_next_term.txt
   math/interpolate/arithmetic__mixed.txt
   math/interpolate/polynomials__expand.txt
   math/interpolate/numbers__list_prime_factors_composed.txt
   math/interpolate/numbers__list_prime_factors.txt
   math/interpolate/arithmetic__add_or_sub_in_base.txt
   math/interpolate/polynomials__compose.txt
   math/interpolate/comparison__closest_composed.txt
   math/interpolate/numbers__is_prime.txt
   math/interpolate/numbers__round_number_composed.txt
   math/interpolate/numbers__div_remainder.txt
   math/interpolate/numbers__div_remainder_composed.txt
   math/interpolate/algebra__linear_2d_composed.txt
   math/interpolate/comparison__sort_composed.txt
   math/interpolate/measurement__conversion.txt
   math/interpolate/polynomials__simplify_power.txt
   math/interpolate/comparison__kth_biggest_composed.txt
   math/interpolate/probability__swr_p_sequence.txt
   math/interpolate/algebra__linear_1d.txt
   math/interpolate/algebra__linear_2d.txt
   math/interpolate/arithmetic__mul.txt
   math/interpolate/comparison__pair.txt
   math/interpolate/polynomials__evaluate.txt
   math/interpolate/polynomials__coefficient_named.txt
   math/interpolate/arithmetic__nearest_integer_root.txt
   math/interpolate/comparison__closest.txt
   math/interpolate/comparison__sort.txt
   math/interpolate/polynomials__collect.txt
   math/interpolate/comparison__pair_composed.txt
   math/interpolate/polynomials__evaluate_composed.txt
   __pycache__/tabulartest.cpython-39.pyc
   dev/draft4.ipynb
   dev/edl.py
   dev/draft3.ipynb
   dev/cwd.py
   dev/prototype.py
   dev/prototype2.py
   dev/bash.sh
   dev/draft2.ipynb
   dev/checkembeddings.py
   dev/draft.ipynb
   dev/edl2.py
   dev/plots.py
In [ ]:
# end of prototype demo