ARC-DSL by Ciro Santilli 37 2025-10-18
This interesting repo defines a set of input transformations that can be composed together into programs to generate the solve ARC problems.
It does not appear to have any program synthesis: it only defines the DSL and then provides manual solutions to the problems.
The README is lacking as usual, an overview of the files is:
Intended usage to run the solvers seems to be:
git clone https://github.com/fchollet/ARC-AGI
cd ARC-AGI
git checkout 399030444e0ab0cc8b4e199870fb20b863846f34
git clone https://github.com/michaelhodel/arc-dsl
cd arc-dsl
git checkout 635de4902a5fb4e376f27333feaa396d3f5dfdcb
python main.py
Unfortunately this blows up on Ubuntu 25.04 on test_mpapply apparently due to a Python 3.12 issue and the pull request github.com/michaelhodel/arc-dsl/pull/7 has been ignored for more than one year, so the project is largely dead.
The rich guy behind Tufa Labs:
Independent AI research lab by Ciro Santilli 37 Created 2025-10-18 Updated 2025-12-01
Cool rich dudes tended to create these a lot during the great AI boom.
Updates / ARC-AGI-2 by Ciro Santilli 37 Created 2025-10-18 Updated 2025-10-21
I've created a quick fork of ARC-DSL which defines a hand crafted Domain Specific Language (DSL) approach to help solve ARC-AGI problems.
I basically just merged outstanding pull requests on the original repo that were needed to make things run.
It would be cool to see if those rules also solve ARC-AGI-2 problems well, but lazy now.
ARC-AGI-2 is a very interesting benchmark which mixes some symbolic and other visual elements, and is readily solvable by non-expert humans, but has so far resisted transformers to a large degree.
Part of me would like to focus more on less visual aspects of AI, but it is still of interest.
It is funny how many early (semi)-retired fintech/bigtech bros that are interested in the project, I saw several of them on the forums.
I'd be tempted if I were in that position too I must confess. Maybe in 15 years time for me the way things are looking.
Kudos to these people who do something cool and open when they don't need money: www.reddit.com/r/Fire/comments/15x4w7r/comment/jx7dn16/ It is also the case of Jimmy Wales from Wikipedia for example, who used to work in finance.
Interesting looking repo with optional GPU and optional LLM.
It seems to have been tested on something older than Ubuntu 24.04, as 24.04 install requires some porting, started process at: github.com/cirosantilli/ARC-AGI-solution/tree/ubuntu-24-04 but gave up to try Ubuntu 22.04 instead.
Ubuntu 22.04 Docker install worked without patches, after installing Poetry e.g. to try and solve 1ae2feb7:
git clone https://github.com/aviad12g/ARC-AGI-solution
cd ARC-AGI-solution
git checkout f3283f727488ad98fe575ea6a5ac981e4a188e49
poetry install
git clone https://github.com/arcprize/ARC-AGI-2
`poetry env activate`
export PYTHONPATH="$PWD/src:$PYTHONPATH"
python3 -m arc_solver.cli.main solve ARC-AGI-2/data/evaluation/1ae2feb7.json
but towards the end we have:
{
  "success": false,
  "error": "Search failed: no_multi_example_solution",
  "search_stats": {
    "nodes_expanded": 21,
    "nodes_generated": 903,
    "termination_reason": "no_multi_example_solution",
    "candidates_generated": 25,
    "examples_validated": 3,
    "validation_success_rate": 0.0,
    "multi_example_used": true
  },
  "predictions": [
    null,
    null,
    null
  ],
  "computation_time": 30.234344280001096,
  "task_id": "1ae2feb7",
  "task_file": "ARC-AGI-2/data/evaluation/1ae2feb7.json",
  "solver_version": "0.1.0",
  "total_time": 30.24239572100123,
  "timestamp": 1760353369.9701269
}

Task: 1ae2feb7.json
Success: False
Error: Search failed: no_multi_example_solution
Multi-example validation: ENABLED
Training examples validated: 3
Candidates generated: 25
Validation success rate: 0.0%
Computation time: 30.23s
Total time: 30.24s
so it failed.
Let's see if any of them work at all as advertised:
ls ARC-AGI-2/data/evaluation/ | xargs -I'{}' python3 -m arc_solver.cli.main solve 'ARC-AGI-2/data/evaluation/{}' |& tee tmp.txt
and at the end:
grep 'Success: True' tmp.txt | wc
has only 7 successes.
Also weirdly
grep 'Success: True' tmp.txt | wc
only has 102 hits, but there were 120 JSON tasks in that folder. I search for the missing executions:
diff -u <(grep Task: tmp.txt | cut -d' ' -f2) <(ls ARC-AGI-2/data/evaluation)
The first missing one is 135a2760, it blows up with:
ERROR: Solve command failed: Object of type HorizontalLinePredicate is not JSON serializable
and grepping ERROR gives us:
ERROR: Solve command failed: Object of type HorizontalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type SizePredicate is not JSON serializable
ERROR: Solve command failed: Object of type HorizontalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type HorizontalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type ndarray is not JSON serializable
ERROR: Solve command failed: Object of type HorizontalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type ndarray is not JSON serializable
ERROR: Solve command failed: Object of type HorizontalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type VerticalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type VerticalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type ndarray is not JSON serializable
ERROR: Solve command failed: Object of type VerticalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type ndarray is not JSON serializable
ERROR: Solve command failed: Object of type HorizontalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type HorizontalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type HorizontalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type VerticalLinePredicate is not JSON serializable
ERROR: Solve command failed: Object of type VerticalLinePredicate is not JSON serializable
Reported at: github.com/aviad12g/ARC-AGI-solution/issues/1
Project Euler problem 910 by Ciro Santilli 37 Created 2025-10-14 Updated 2025-11-30
Programs:
A(x) = x + 1
Z(u)(v) = v
S(u)(v)(w) = v(u(v)(w))
Let's resolve the second example ourselves:
S
  (S)
  (S(S))
  (S(Z))
(A)
(0)

S
(S)
(
  S
  (S(S))
  (S(Z))
)
(A)
(0)

S
(S(S))
(S(Z))
(
  S
  (
    S
    (S(S))
    (S(Z))
  )
  (A)
)
(0)

S
(Z)
(
  S(S)
  (S(Z))
  (
    S
    (
      S
      (S(S))
      (S(Z))
    )
    (A)
  )
)
(0)

S(S)
(S(Z))
(
  S
  (
    S
    (S(S))
    (S(Z))
  )
  (A)
)
(
  Z
  (
    S(S)
    (S(Z))
    (
      S
      (
        S
        (S(S))
        (S(Z))
      )
      (A)
    )
  )
  (0)
)

S
(S)
(S(Z))
(
  S
  (
    S
    (S(S))
    (S(Z))
  )
  (A)
)
(0)
TODO: how long would this be?
So we see that all of these rules resolve quite quickly and do not go into each other. S however offers some problems, in that:
C_0 = Z
C_i = S(C_{i-1})
D_i = C_i(S)(S)
So we see that D_i goes somewhat simply into C_i, and C_i is recursive giving:
S^i(Z)
Calculate the nine first digits of:
D_a(D_b)(D_c)(C_d)(A)(e)
Removing D_a:
S^i(Z)S)(S)(D_b)(D_c)(C_d)(A)(e)
Solution:
233168
Solutions to the ProjectEuler+ version:
The original can be found with:
printf '1\n1000\n' | euler/1.py
Project Euler problem zero by Ciro Santilli 37 Created 2025-10-14 Updated 2025-10-27
This was a registration CAPTCHA problem as of 2025:
Among the first 510 thousand square numbers, what is the sum of all the odd squares?
Python solution:
s = 0
for i in range(1, 510001, 2):
    s += i*i
print(s)
At: euler/0.py

There are unlisted articles, also show them or only show them.