Documentation

LeanPool.SmallUndecidableGroups.Machine.ThueBridge

ThueBridge #

Part of the dependency closure of the small undecidable group constructions.

def Undecidability.MachineThue.iterate {C : Type u_1} (step : C → Option C) :
ℕ → C → Option C

Iteration of a deterministic partial transition function. The zeroth iterate is the initial configuration; a missing transition at any later stage records termination.

Equations
Instances For
    def Undecidability.MachineThue.Terminates {C : Type u_1} (step : C → Option C) (c : C) :

    A configuration terminates when some finite iterate encounters a missing transition.

    Equations
    Instances For
      theorem Undecidability.MachineThue.terminates_of_halted {C : Type u_1} {step : C → Option C} {c : C} (h : step c = none) :
      Terminates step c
      theorem Undecidability.MachineThue.terminates_of_step {C : Type u_1} {step : C → Option C} {c d : C} (hcd : step c = some d) (hd : Terminates step d) :
      Terminates step c
      theorem Undecidability.MachineThue.terminates_after_step {C : Type u_1} {step : C → Option C} {c d : C} (hcd : step c = some d) (hc : Terminates step c) :
      Terminates step d
      theorem Undecidability.MachineThue.terminates_iff_reaches_halt {C : Type u_1} {step : C → Option C} {c : C} :
      Terminates step c ↔ ∃ (h : C), StateTransition.Reaches step c h ∧ step h = none
      theorem Undecidability.MachineThue.terminates_iff_eval_dom {C : Type u_1} {step : C → Option C} {c : C} :

      Terminates agrees with Mathlib's domain predicate for the standard state-transition evaluator.

      structure Undecidability.MachineThue.Coding (C : Type u_1) (α : Type u_2) :
      Type (max u_1 u_2)

      The exact local obligations needed to turn a deterministic partial machine into a symmetric Thue system with a fixed target.

      classify is Post's key inverse-simulation lemma. At a nonterminal encoded configuration, a symmetric rewrite either performs the unique forward machine step or reaches an encoded predecessor. The latter alternative is harmless: determinism lets us cancel that backwards excursion from any terminating run.

      Instances For
        theorem Undecidability.MachineThue.Coding.simulation {C : Type u_1} {α : Type u_2} (K : Coding C α) {c : C} :
        theorem Undecidability.MachineThue.Coding.inverse_simulation {C : Type u_1} {α : Type u_2} (K : Coding C α) {c : C} :
        theorem Undecidability.MachineThue.Coding.terminates_iff {C : Type u_1} {α : Type u_2} (K : Coding C α) {c : C} :

        A deterministic machine terminates exactly when its encoding is Thue-equivalent to the fixed target.