While this submission is a draft, it cannot be used by other submissions.

Wide machines with a regular input channel

Lax822549.WideRegChannel · concepts/Lax822549/WideRegChannel.lean · lax-822549

definition

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Natural Language Statement

    Definition

    The wide machine with a regular channel reads its input from a channel laid out along the addresses: a cell reads an element of the instance when it lies on the segment of the cells carrying an input. Wide acceptance with a regular channel holds of a well-formed instance whose machine, so reading its input, accepts within its 2n2^n steps.

    Concept map
    7 concepts; 3 descendants hidden
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Lean source view on GitHub

    1import Mathlib.Algebra.BigOperators.Finprod
    2import Mathlib.Data.Set.Finite.Lemmas
    3import Mathlib.Data.Fintype.EquivFin
    4import Mathlib.Data.Set.Card
    5import Mathlib.SetTheory.Cardinal.Finite
    6import Mathlib.Logic.Equiv.Prod
    7import Mathlib.Order.PiLex
    8import Mathlib.Data.Prod.Lex
    9import Mathlib.ModelTheory.Order
    10import Mathlib.ModelTheory.Semantics
    11import Mathlib.ModelTheory.Complexity
    12import Mathlib.Tactic.FinCases
    13import Mathlib.Logic.Equiv.Fin.Basic
    14import Mathlib.Data.Finite.Sigma
    15import Mathlib.Data.Fintype.Lattice
    16import Mathlib.Order.Lattice.Nat
    17import Mathlib.Data.Fintype.Pigeonhole
    18import Mathlib.Dynamics.FixedPoints.Basic
    19import Lax822549.WideMachines
    20import Lax904597.Machines
    21import Lax904597.Problems
    22import Lax485149.Problems
    23
    24/-!
    25---
    26title: Wide machines with a regular input channel
    27type: definition
    28---
    29The wide machine with a regular channel reads its input from a channel laid
    30out along the addresses: a cell reads an element of the instance when it
    31lies on the segment of the cells carrying an input. Wide acceptance with a
    32regular channel holds of a well-formed instance whose machine, so reading
    33its input, accepts within its 2n2^n steps.
    34-/
    35
    36namespace Lax822549.WideRegChannel
    37
    38open Lax822549.WideMachines Lax904597.Machines
    39
    40open FirstOrder
    41
    42open Language Structure
    43
    44section Machine
    45
    46variable {A : Type} [wide.Structure A]
    47
    48/-- The initial tape of the register channel: the cell of `x` holds the input
    49symbol of `x`. -/
    50def wpInpReg : WPoint A → WPoint A → Prop
    51 | Sum.inl s, Sum.inr y => ∃ x, WMRegSeg s x ∧ WMInp x y
    52 | _, _ => False
    53
    54variable (A) in
    55/-- **The wide machine an instance describes, at the register channel**: the
    56machine of `wideData` with its input written on the file
    57of the elements that carry input, instead of on the ruler of all the segments.
    58Every other field is the same one. -/
    59def wideRegData : TMData (WPoint A) :=
    60 { wideData A with Inp := wpInpReg }
    61
    62end Machine
    63
    64open Lax904597.Problems Lax485149.Problems
    65
    66/-- **Wide acceptance with a regular channel.** -/
    67def WideRegAccept : DecisionProblem wide :=
    68 DecisionProblem.ofPred fun A _ => TMData.WellFormed (wideRegData A) ∧ TMData.Accepts (wideRegData A)
    69
    70end Lax822549.WideRegChannel
    71

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…