AWM
← All games‹ ft09ka59 ›

g50t

Move a pawn and record stand-ins that replay your moves; the pawn walking into the end cell clears the level.

7 levels · 13 rules · all levels replayed in Lean

Replay

The certified run that cleared every level, one action at a time. Beside each step: the rules of the model that explain it; they are also marked in the rule list below.

g50t, first frame of the certified run

Explained by

Press Play or step to load the run. Keys, while the player is on screen: ← → step, Space play / pause. A click is circled; cells that changed are outlined.

How it plays

The player operates a pawn, and the direction keys make it move one cell on the floor. The field has buttons, portals and carts, and tracks of the same colour link them into a network. Press the switch-board key, and the pawn returns to the start, the moves of the board just played are recorded as a stand-in; in the next board the stand-in replays them, and after finishing stops on the last cell without moving. The stand-in can also step on buttons and go through portals, so clearing the level depends on division of labour: let the stand-in press and hold the button and push aside the cart blocking the way, while the pawn passes during this time. A red spring cart makes way by one cell while the button is pressed, and goes back home when released; a yellow latch cart flips between two cells each time it is stepped on. Going into a portal has to catch the step at which the button on the same network is pressed. The number of slots in the top-left corner limits the number of stand-ins, and some levels also have a ring patrolling along a corridor. The pawn walking into the end cell clears the level.

g50t, first frame of the certified run
Start
g50t, last frame of the certified run
After the winning move

Model

The final model: 10 object types and 13 rules. Each rule is a Python check against every recorded step; 11 of them are translated into Lean (the paper's per-game table). Code under a rule is the file of the same name in the agent's Lean project.

Object types

Rules

Code is shown with comments and the agent's notes removed; the files as written are in the archive under Check it yourself.

Proof

For every level, Lean starts from the level's first screen, applies the model's rules to the certified actions, and checks that every computed state agrees with the recorded frame on the components the model represents, and that the last one wins. Each theorem is closed by the Lean kernel and is a statement about the learned model.

Every level can be won

theorem L0_winnable : L0_acts.length = 17 ∧ Winnable board11 (L0_start : World) := …
theorem L1_winnable : L1_acts.length = 31 ∧ Winnable board12 (L1_start : World) := …
theorem L2_winnable : L2_acts.length = 64 ∧ Winnable board13 (L2_start : World) := …
theorem L3_winnable : L3_acts.length = 31 ∧ Winnable board14 (L3_start : World) := …
theorem L4_winnable : L4_acts.length = 52 ∧ Winnable board15 (L4_start : World) := …
theorem L5_winnable : L5_acts.length = 49 ∧ Winnable board16 (L5_start : World) := …
theorem L6_winnable : L6_acts.length = 43 ∧ Winnable board17 (L6_start : World) := …

Statements only; the proofs and the full Lean project are in the archive, with the steps to re-run them, under Check it yourself.

Check it yourself

Everything on this page comes from files you can download and check. The archive holds the agent's files: the recorded run, the concept book, the concept sources, the Lean project and the sealed model file, plus the record of our kernel check.

Download g50t.zip 0.4 MB · 75 files

Re-run the proof

Before you start: our run of this check took 52 s and 3.2 GB of memory at its peak (2026-10-23).

  1. Download g50t.zip and unpack it. The model and its theorems are in archive/g50t-20260912/formal/Game.lean. Before changing it, check that its SHA-256 is
    d0aecf39aac07317d583908cffd7db37f8e7447f397af632dae635e15e9968d8
  2. Install Lean with elan, then the version named in the archive's lean-toolchain:
    elan toolchain install leanprover/lean4:v4.34.0
  3. Copy the model file to Check.lean and append these two lines to the copy:
    #print axioms consistent
    #print axioms faithful
  4. In the folder that holds Check.lean, run:
    lean +leanprover/lean4:v4.34.0 -M60000 Check.lean
  5. Lean should finish without errors and print:
    GUARD_HITS step_delta=660,move_iff_free=660,portal_teleport=13,portal_pairing=13,ghost_follows_me=673,ghost_respects_blocking=707,ghosts_never_outnumber_slots=707,switch_hides_ghosts=30,switch_rewinds_carts=30,cart_shifts_on_press=673,hud_cursor_cycle=707,bar_cost=707,goal_is_levelup=673,reset_clears_the_level=4,button_shape_at_rail_end=707,walker_dies_only_to_moving_cart=238,walker_enters_only_free=229,walker_steps_when_i_step=229,walker_walks_alone=229
    'consistent' depends on axioms: [propext]
    'faithful' depends on axioms: [propext]
    The first line is printed by the file itself: for each rule, how many recorded transitions meet its condition.

What a pass establishes

consistent: for every recorded transition, as read by the agent's parser and with duplicates removed, every rule whose condition holds also has its effect hold. faithful: the certified run, recomputed step by step from the first screen of each level, matches the record and ends in a win. Axioms used: propext, all among Lean's standard ones.

What it does not establish: that the parser reads the screens correctly (that step runs in Python, outside Lean), or that a rule whose condition never occurs in the record is right. The Python file that produced the readings inside the model file is in the archive at meta/repair-20260928/lib/g50t-20260912/_lib.py.