Invariance and characterization of code halting
Lax624099.CodeHaltingInvariance · concepts/Lax624099/CodeHaltingInvariance.lean · lax-624099
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
Halting of the code drawn at the root is invariant under isomorphism of instances, and an instance is a yes-instance of CODEHALT exactly when its root draws a code that halts on zero.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax904597.Problems |
| 2 | import Lax904597.Interpretations |
| 3 | import Lax904597.Relativized |
| 4 | import Lax904597.Classes |
| 5 | import Lax624099.Problems |
| 6 | import Lax624099.ValueInvention |
| 7 | import Lax624099.ClassRE |
| 8 | import Lax624099.FiniteSatisfiability |
| 9 | import Lax624099.Halting |
| 10 | import Lax624099.CodeHalting |
| 11 | import Lax624099.PostCorrespondence |
| 12 | import Lax624099.ConcreteInstances |
| 13 | import Lax904597.Machines |
| 14 | |
| 15 | /-! |
| 16 | --- |
| 17 | title: Invariance and characterization of code halting |
| 18 | type: lemma |
| 19 | --- |
| 20 | Halting of the code drawn at the root is invariant under isomorphism of |
| 21 | instances, and an instance is a yes-instance of CODEHALT exactly when its root |
| 22 | draws a code that halts on zero. |
| 23 | -/ |
| 24 | |
| 25 | namespace Lax624099.CodeHaltingInvariance |
| 26 | |
| 27 | open FirstOrder FirstOrder.Language |
| 28 | open Lax904597.Problems Lax904597.Interpretations Lax904597.Relativized Lax904597.Classes |
| 29 | open Lax904597.Machines Lax624099.Problems Lax624099.ValueInvention Lax624099.ClassRE |
| 30 | open Lax624099.FiniteSatisfiability |
| 31 | open Lax624099.Halting Lax624099.CodeHalting Lax624099.PostCorrespondence |
| 32 | open Lax624099.ConcreteInstances |
| 33 | |
| 34 | /-- The property `CodeHaltsOn` is isomorphism-invariant. -/ |
| 35 | axiom codeHaltsOn_iso : ∀ {A B : Type} [code.Structure A] [code.Structure B], |
| 36 | (A ≃[code] B) → (CodeHaltsOn A ↔ CodeHaltsOn B) |
| 37 | |
| 38 | /-- The yes-instances of CODEHALT are exactly the instances whose root draws a |
| 39 | halting code. -/ |
| 40 | axiom codehalt_iff : ∀ (A : Type) [code.Structure A], CODEHALT A ↔ CodeHaltsOn A |
| 41 | |
| 42 | end Lax624099.CodeHaltingInvariance |
| 43 |
Builds on
Used by
none
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments