File size: 2,405 Bytes
a0a20b5
5a10f7f
 
 
 
a0a20b5
 
5a10f7f
 
 
 
 
 
 
 
 
a0a20b5
 
5a10f7f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0292f9d
5a10f7f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1955d1e
 
 
 
5a10f7f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
---
title: Reasoning Core Environment Server
emoji: 🧠
colorFrom: green
colorTo: blue
sdk: docker
pinned: false
app_port: 8000
base_path: /web
tags:
  - openenv
  - agent-environment
  - reasoning
  - reinforcement-learning
  - evaluation
  - symbolic-reasoning
---

# Reasoning Core Environment

An [OpenEnv](https://github.com/huggingface/openenv) environment for formally
verifiable symbolic reasoning across logic, mathematics, planning, syntax, and
related procedural domains.

Tasks come from
[`reasoning-core/formal-reasoning-env`](https://huggingface.co/datasets/reasoning-core/formal-reasoning-env)
and are scored by the task-specific evaluators in
[`reasoning-core`](https://github.com/sileod/reasoning_core).

## Use The Hosted Environment

```python
from reasoning_core_env import ReasoningCoreAction, ReasoningCoreEnv

with ReasoningCoreEnv(
    base_url="https://reasoning-core-reasoning-core-openenv.hf.space"
) as env:
    result = env.reset(split="train", seed=42, size=1000)
    print(result.observation.prompt)

    result = env.step(ReasoningCoreAction(answer="<answer>...</answer>"))
    print(result.reward)
```

Each episode has one action:

1. `reset()` returns a symbolic reasoning prompt.
2. `step(ReasoningCoreAction(answer=...))` scores the answer and ends the episode.

Plain answers and answers wrapped in `<answer>...</answer>` are accepted. Rewards
are task-specific scores in the range 0 to 1.

The environment only serves pre-generated examples from the Hugging Face
dataset. Rows whose task scorer is unavailable in the installed
`reasoning-core` version are skipped, preventing deprecated or unsupported task
types from reaching an episode.

## Local Development

```bash
uv sync
uv run openenv validate
uv run openenv build -t reasoning-core-openenv
```

Run without Docker:

```bash
uv run server
```

The service exposes the interactive UI at `/web`, API documentation at `/docs`,
health information at `/health`, and the persistent environment API at `/ws`.

## Citation

If you use this environment, cite the Reasoning Core paper:

```bibtex
@article{reasoningcore2026,
  title={Reasoning Core: A Scalable Procedural Data Generation Suite for Symbolic Pre-training and Post-Training},
  author={Lacombe, Valentin and Quesnel, Valentin and Sileo, Damien},
  journal={arXiv preprint arXiv:2603.02208},
  year={2026},
  url={https://arxiv.org/abs/2603.02208}
}
```