OAI/Computability/TypeSystem/Spaces.lean
126 declarations, 0 contain sorry, 0 declared as axioms
Set-theoretic free observation spaces. The four fixed sets are normal keys, tagged plain payloads, base observations, and exit observations. The construction is independent of any typing choices.
- inductive
OAI.PureTypeSystem.FreeObservations.Payloadline 16 - abbrev
OAI.PureTypeSystem.FreeObservations.Frameline 21 - abbrev
OAI.PureTypeSystem.FreeObservations.ContinueStackline 22 - abbrev
OAI.PureTypeSystem.FreeObservations.ExitStackline 23 - structure
OAI.PureTypeSystem.FreeObservations.Tableline 25 - def
OAI.PureTypeSystem.FreeObservations.Payload.mapline 33 - theorem
OAI.PureTypeSystem.FreeObservations.Payload.map_idline 38 - theorem
OAI.PureTypeSystem.FreeObservations.Payload.map_compline 39 - theorem
OAI.PureTypeSystem.FreeObservations.Payload.map_injectiveline 42 - theorem
OAI.PureTypeSystem.FreeObservations.Payload.map_surjectiveline 47 - def
OAI.PureTypeSystem.FreeObservations.mapFrameline 59 - def
OAI.PureTypeSystem.FreeObservations.mapContinueline 62 - def
OAI.PureTypeSystem.FreeObservations.mapExitline 65 - theorem
OAI.PureTypeSystem.FreeObservations.mapFrame_idline 68 - theorem
OAI.PureTypeSystem.FreeObservations.mapFrame_compline 71 - theorem
OAI.PureTypeSystem.FreeObservations.mapContinue_idline 75 - theorem
OAI.PureTypeSystem.FreeObservations.mapContinue_compline 80 - theorem
OAI.PureTypeSystem.FreeObservations.mapExit_idline 87 - theorem
OAI.PureTypeSystem.FreeObservations.mapExit_compline 90 - theorem
OAI.PureTypeSystem.FreeObservations.mapFrame_injectiveline 94 - theorem
OAI.PureTypeSystem.FreeObservations.mapFrame_surjectiveline 101 - theorem
OAI.PureTypeSystem.FreeObservations.mapContinue_injectiveline 107 - theorem
OAI.PureTypeSystem.FreeObservations.mapContinue_surjectiveline 111 - theorem
OAI.PureTypeSystem.FreeObservations.mapExit_injectiveline 115 - theorem
OAI.PureTypeSystem.FreeObservations.mapExit_surjectiveline 121 - def
OAI.PureTypeSystem.FreeObservations.Table.relabelline 130 - theorem
OAI.PureTypeSystem.FreeObservations.Table.relabel_idline 134 - theorem
OAI.PureTypeSystem.FreeObservations.Table.relabel_compline 137 - def
OAI.PureTypeSystem.FreeObservations.Table.defaultline 141 - theorem
OAI.PureTypeSystem.FreeObservations.Table.relabel_defaultline 145 - theorem
OAI.PureTypeSystem.FreeObservations.Table.relabel_injectiveline 148 - theorem
OAI.PureTypeSystem.FreeObservations.Table.relabel_surjectiveline 159 - theorem
OAI.PureTypeSystem.FreeObservations.Table.relabel_range_iffline 168Source documentation
Exact factorization through a surjective payload map, simultaneously at all finite lengths. No continuity/topology is assumed.
theorem relabel_range_iff {f : X → Y} (hf : Function.Surjective f) (t : Table Q V B O X) : (∃ s, relabel f s = t) ↔ (∀ a b, mapContinue f a = mapContinue f b → t.continuing a = t.continuing b) ∧ (∀ a b, mapExit f a = mapExit f b → t.exiting a = t.exiting b) := by …Mentions: OAI.PureTypeSystem.FreeObservations.Table, OAI.PureTypeSystem.FreeObservations.Table.relabel, OAI.PureTypeSystem.FreeObservations.mapContinue, OAI.PureTypeSystem.FreeObservations.mapExit
- def
OAI.PureTypeSystem.FreeObservations.Table.sliceline 189Source documentation
Prefix a continue frame. Its slicing operation commutes with relabeling.
def slice (t : Table Q V B O X) (a : Frame Q V X) : Table Q V B O X where …
Mentions: OAI.PureTypeSystem.FreeObservations.Table, OAI.PureTypeSystem.FreeObservations.Frame
- theorem
OAI.PureTypeSystem.FreeObservations.Table.slice_relabelline 193 - def
OAI.PureTypeSystem.FreeObservations.Stageline 199 - def
OAI.PureTypeSystem.FreeObservations.stepline 204 - theorem
OAI.PureTypeSystem.FreeObservations.step_injectiveline 211 - def
OAI.PureTypeSystem.FreeObservations.inclusionline 217 - theorem
OAI.PureTypeSystem.FreeObservations.inclusion_selfline 220 - theorem
OAI.PureTypeSystem.FreeObservations.inclusion_succline 223 - theorem
OAI.PureTypeSystem.FreeObservations.inclusion_transline 227 - instance
OAI.PureTypeSystem.FreeObservations.stageDirectedSystemline 231 - theorem
OAI.PureTypeSystem.FreeObservations.inclusion_injectiveline 236 - abbrev
OAI.PureTypeSystem.FreeObservations.Minusline 254 - abbrev
OAI.PureTypeSystem.FreeObservations.Plusline 256 - def
OAI.PureTypeSystem.FreeObservations.embedline 259 - theorem
OAI.PureTypeSystem.FreeObservations.embed_injectiveline 262 - theorem
OAI.PureTypeSystem.FreeObservations.embed_inclusionline 265 - theorem
OAI.PureTypeSystem.FreeObservations.embed_stepline 269 - theorem
OAI.PureTypeSystem.FreeObservations.exists_embedline 273 - theorem
OAI.PureTypeSystem.FreeObservations.exists_embed_succline 277 - def
OAI.PureTypeSystem.FreeObservations.restrictline 282 - theorem
OAI.PureTypeSystem.FreeObservations.restrict_surjectiveline 286 - theorem
OAI.PureTypeSystem.FreeObservations.restrict_compatline 289 - theorem
OAI.PureTypeSystem.FreeObservations.restrict_inclusionline 296 - def
OAI.PureTypeSystem.FreeObservations.stageBehaviorline 304 - theorem
OAI.PureTypeSystem.FreeObservations.stageBehavior_injectiveline 309 - theorem
OAI.PureTypeSystem.FreeObservations.stageBehavior_stepline 314 - theorem
OAI.PureTypeSystem.FreeObservations.stageBehavior_inclusionline 325 - def
OAI.PureTypeSystem.FreeObservations.behaviorline 334 - theorem
OAI.PureTypeSystem.FreeObservations.behavior_embedline 338 - theorem
OAI.PureTypeSystem.FreeObservations.behavior_injectiveline 342 - def
OAI.PureTypeSystem.FreeObservations.plusDefaultline 346 - def
OAI.PureTypeSystem.FreeObservations.minusDefaultline 348 - theorem
OAI.PureTypeSystem.FreeObservations.behavior_defaultline 351 - theorem
OAI.PureTypeSystem.FreeObservations.behavior_range_iffline 356Source documentation
The finite bound is ONE stage for ALL finite input lengths.
theorem behavior_range_iff (t : Table Q V B O (Plus Q V B O)) : (∃ x, behavior Q V B O x = t) ↔ ∃ r, (∀ a a', mapContinue (restrict Q V B O r) a = mapContinue (restrict Q V B O r) a' → t.continuing a = t.continuing a') ∧ (∀ a a', mapExit (restrict Q V B O r) a = mapExit (restrict Q V B O r) a' → t.exiting a = t.exiting a') := by …Mentions: OAI.PureTypeSystem.FreeObservations.Table, OAI.PureTypeSystem.FreeObservations.Plus, OAI.PureTypeSystem.FreeObservations.behavior, OAI.PureTypeSystem.FreeObservations.mapContinue, OAI.PureTypeSystem.FreeObservations.restrict, OAI.PureTypeSystem.FreeObservations.mapExit
- theorem
OAI.PureTypeSystem.FreeObservations.slice_rangeline 371Source documentation
Slicing represented behaviors preserves the same finite stage.
theorem slice_range (x : Minus Q V B O) (a : Frame Q V (Plus Q V B O)) : ∃ y, behavior Q V B O y = (behavior Q V B O x).slice a := by …Mentions: OAI.PureTypeSystem.FreeObservations.Minus, OAI.PureTypeSystem.FreeObservations.Frame, OAI.PureTypeSystem.FreeObservations.Plus, OAI.PureTypeSystem.FreeObservations.behavior
- def
OAI.PureTypeSystem.FreeObservations.minusSliceline 377 - theorem
OAI.PureTypeSystem.FreeObservations.behavior_minusSliceline 380 - structure
OAI.PureTypeSystem.PlainSpaces.Schemaline 396 - inductive
OAI.PureTypeSystem.PlainSpaces.Schema.Pathline 404 - inductive
OAI.PureTypeSystem.PlainSpaces.Schema.Slotline 410Source documentation
The occurrence of a payload along a raw finite path. Certificates of a particular domain introduce no computational information.
inductive Slot : {n : N} → F.Path n → N → Type u | head {n : N} {a : F.Key n} {p : F.Path (F.target n a)} {d : N} (h : F.domain n a = some d) : Slot (.cons a p) d | tail {n : N} {a : F.Key n} {p : F.Path (F.target n a)} {d : N} (s : Slot p d) : Slot (.cons a p) d /-- A domain can be used after any finite number of continuation frames. -/ - inductive
OAI.PureTypeSystem.PlainSpaces.Schema.Dependencyline 417Source documentation
A domain can be used after any finite number of continuation frames.
inductive Dependency : N → N → Prop | head {n : N} (a : F.Key n) {d : N} (h : F.domain n a = some d) : Dependency d n | tail {n d : N} (a : F.Key n) (h : Dependency d (F.target n a)) : Dependency d n namespace Slot variable {F} - theorem
OAI.PureTypeSystem.PlainSpaces.Schema.Slot.dependencyline 423 - abbrev
OAI.PureTypeSystem.PlainSpaces.Schema.Parametersline 429 - abbrev
OAI.PureTypeSystem.PlainSpaces.Schema.FrameParametersline 432 - abbrev
OAI.PureTypeSystem.PlainSpaces.Schema.Tableline 435 - def
OAI.PureTypeSystem.PlainSpaces.Schema.Spaceline 438 - theorem
OAI.PureTypeSystem.PlainSpaces.Schema.space_eqline 441 - def
OAI.PureTypeSystem.PlainSpaces.Schema.unfoldline 445 - def
OAI.PureTypeSystem.PlainSpaces.Schema.Parameters.nilline 451 - def
OAI.PureTypeSystem.PlainSpaces.Schema.Parameters.headline 453 - def
OAI.PureTypeSystem.PlainSpaces.Schema.Parameters.tailline 457 - def
OAI.PureTypeSystem.PlainSpaces.Schema.Parameters.consline 461 - theorem
OAI.PureTypeSystem.PlainSpaces.Schema.Parameters.head_consline 466 - theorem
OAI.PureTypeSystem.PlainSpaces.Schema.Parameters.tail_consline 468 - theorem
OAI.PureTypeSystem.PlainSpaces.Schema.Parameters.cons_head_tailline 470 - theorem
OAI.PureTypeSystem.PlainSpaces.Schema.Parameters.nil_uniqueline 475 - def
OAI.PureTypeSystem.PlainSpaces.Schema.prefixEquivline 481Source documentation
Splitting all-path tables at their first frame.
noncomputable def prefixEquiv (hw : WellFounded F.Dependency) (B : Type u) (n : N) : F.Space hw B n ≃ B × ((a : F.Key n) → F.FrameParameters (F.Space hw B) a → F.Space hw B (F.target n a)) where … - def
OAI.PureTypeSystem.PlainSpaces.Schema.distinguishedline 509Source documentation
Constant tables give compatible distinguished parameters with no additional choice of an inhabitant at any recursive node.
noncomputable def distinguished (hw : WellFounded F.Dependency) {B : Type u} (b : B) (n : N) : F.Space hw B n := (F.unfold hw B n).symm (fun _ _ => b) - theorem
OAI.PureTypeSystem.PlainSpaces.Schema.distinguished_baseline 512 - theorem
OAI.PureTypeSystem.PlainSpaces.Schema.distinguished_nextline 516 - def
OAI.PureTypeSystem.FreeObservations.InStageline 530Source documentation
Membership in a specified finite minus stage, not just in the limit.
def InStage (n : ℕ) (x : Minus Q V B O) : Prop := …
- def
OAI.PureTypeSystem.FreeObservations.Agreeline 534Source documentation
The finite observation equivalence on unrestricted plus tables.
def Agree (n : ℕ) (p q : Plus Q V B O) : Prop := …
Mentions: OAI.PureTypeSystem.FreeObservations.Plus
- theorem
OAI.PureTypeSystem.FreeObservations.InStage.monoline 539 - theorem
OAI.PureTypeSystem.FreeObservations.InStage.not_zeroline 544 - theorem
OAI.PureTypeSystem.FreeObservations.InStage.exists_stageline 548 - theorem
OAI.PureTypeSystem.FreeObservations.Agree.monoline 555 - theorem
OAI.PureTypeSystem.FreeObservations.Agree.reflline 560 - theorem
OAI.PureTypeSystem.FreeObservations.Agree.symmline 562 - theorem
OAI.PureTypeSystem.FreeObservations.Agree.transline 564 - theorem
OAI.PureTypeSystem.FreeObservations.inStage_succ_iffline 571Source documentation
Exact characterization at a specified stage, used for the uniform bound at a minus lambda.
theorem inStage_succ_iff (b : B) (o : O) (n : ℕ) (x : Minus Q V B O) : InStage (n+1) x ↔ (∀ a a', mapContinue (restrict Q V B O n) a = mapContinue (restrict Q V B O n) a' → (behavior Q V B O x).continuing a = (behavior Q V B O x).continuing a') ∧ (∀ a a', mapExit (restrict Q V B O n) a = mapExit (restrict Q V B O n) a' → (behavior Q V B O x).exiting a = (behavior Q V B O x).exiting a') := by …Mentions: OAI.PureTypeSystem.FreeObservations.Minus, OAI.PureTypeSystem.FreeObservations.InStage, OAI.PureTypeSystem.FreeObservations.mapContinue, OAI.PureTypeSystem.FreeObservations.restrict, OAI.PureTypeSystem.FreeObservations.behavior, OAI.PureTypeSystem.FreeObservations.mapExit
- theorem
OAI.PureTypeSystem.FreeObservations.exists_inStage_behaviorline 586Source documentation
A table with the uniform finite invariance is represented at exactly the promised next stage. This is stronger than mere totality in the colimit.
theorem exists_inStage_behavior (b : B) (o : O) (n : ℕ) (t : Table Q V B O (Plus Q V B O)) (hc : ∀ a a', mapContinue (restrict Q V B O n) a = mapContinue (restrict Q V B O n) a' → t.continuing a = t.continuing a') (he : ∀ a a', mapExit (restrict Q V B O n) a = mapExit (restrict Q V B O n) a' → t.exiting a = t.exiting a') : ∃ x, InStage (n+1) x ∧ behavior Q V B O x = t := by …Mentions: OAI.PureTypeSystem.FreeObservations.Table, OAI.PureTypeSystem.FreeObservations.Plus, OAI.PureTypeSystem.FreeObservations.mapContinue, OAI.PureTypeSystem.FreeObservations.restrict, OAI.PureTypeSystem.FreeObservations.mapExit, OAI.PureTypeSystem.FreeObservations.InStage, OAI.PureTypeSystem.FreeObservations.behavior
- theorem
OAI.PureTypeSystem.FreeObservations.inStage_minusSliceline 597Source documentation
Slicing remains in the same finite minus stage.
theorem inStage_minusSlice (b : B) (o : O) {n : ℕ} {x : Minus Q V B O} (hx : InStage n x) (a : Frame Q V (Plus Q V B O)) : InStage n (minusSlice x a) := by …Mentions: OAI.PureTypeSystem.FreeObservations.Minus, OAI.PureTypeSystem.FreeObservations.InStage, OAI.PureTypeSystem.FreeObservations.Frame, OAI.PureTypeSystem.FreeObservations.Plus, OAI.PureTypeSystem.FreeObservations.minusSlice
- def
OAI.PureTypeSystem.FreeObservations.lambdaTableline 611Source documentation
A raw lambda table. Its body is selected by a continuing first frame; its exit operation is selected by the unique terminal frame. Gates and invalid-frame defaults can be included in these two functions.
def lambdaTable (base : B) (body : Frame Q V (Plus Q V B O) → Minus Q V B O) (exit : Frame Q V (Plus Q V B O) → O) : Table Q V B O (Plus Q V B O) where …Mentions: OAI.PureTypeSystem.FreeObservations.Frame, OAI.PureTypeSystem.FreeObservations.Plus, OAI.PureTypeSystem.FreeObservations.Minus, OAI.PureTypeSystem.FreeObservations.Table
- theorem
OAI.PureTypeSystem.FreeObservations.lambdaTable_representableline 623Source documentation
The representability step at a minus lambda. The finite level is uniform across all first frames and all stack lengths, not a pointwise bound.
theorem lambdaTable_representable (b : B) (o : O) (n : ℕ) (base : B) (body : Frame Q V (Plus Q V B O) → Minus Q V B O) (exit : Frame Q V (Plus Q V B O) → O) (hb : ∀ a, InStage (n+1) (body a)) (hc : ∀ a a', mapFrame (restrict Q V B O n) a = mapFrame (restrict Q V B O n) a' → body a = body a') (he : ∀ a a', mapFrame (restrict Q V B O n) a = mapFrame (restrict Q V B O n) a' → exit a = exit a') : ∃ x, InStage (n+1) x ∧ behavior Q V B O x = lambdaTable base body exit := by …Mentions: OAI.PureTypeSystem.FreeObservations.Frame, OAI.PureTypeSystem.FreeObservations.Plus, OAI.PureTypeSystem.FreeObservations.Minus, OAI.PureTypeSystem.FreeObservations.InStage, OAI.PureTypeSystem.FreeObservations.mapFrame, OAI.PureTypeSystem.FreeObservations.restrict, OAI.PureTypeSystem.FreeObservations.behavior, OAI.PureTypeSystem.FreeObservations.lambdaTable
- def
OAI.PureTypeSystem.FreeObservations.FrameBoundline 666 - def
OAI.PureTypeSystem.FreeObservations.ContinueBoundline 669 - def
OAI.PureTypeSystem.FreeObservations.ExitBoundline 672 - theorem
OAI.PureTypeSystem.FreeObservations.FrameBound.monoline 677 - theorem
OAI.PureTypeSystem.FreeObservations.FrameBound.exists_preimageline 680 - theorem
OAI.PureTypeSystem.FreeObservations.FrameBound.embedline 690 - theorem
OAI.PureTypeSystem.FreeObservations.ContinueBound.monoline 704 - theorem
OAI.PureTypeSystem.FreeObservations.ContinueBound.exists_preimageline 707 - theorem
OAI.PureTypeSystem.FreeObservations.ContinueBound.embedline 716 - theorem
OAI.PureTypeSystem.FreeObservations.ContinueBound.consline 722 - theorem
OAI.PureTypeSystem.FreeObservations.Agree.continuingline 732 - theorem
OAI.PureTypeSystem.FreeObservations.Agree.exitingline 737 - theorem
OAI.PureTypeSystem.FreeObservations.Agree.of_observationsline 745 - theorem
OAI.PureTypeSystem.FreeObservations.Agree.sliceline 754 - theorem
OAI.PureTypeSystem.FreeObservations.Agree.all_levels_eqline 762 - theorem
OAI.PureTypeSystem.FreeObservations.minusSlice_eq_of_restrictline 791 - theorem
OAI.PureTypeSystem.FreeObservations.minusExit_eq_of_restrictline 805 - def
OAI.PureTypeSystem.FreeObservations.plusLambdaTableline 815Source documentation
The unrestricted plus-side analogue of the minus lambda table.
def plusLambdaTable (base : B) (body : Frame Q V (Minus Q V B O) → Plus Q V B O) (exit : Frame Q V (Minus Q V B O) → O) : Plus Q V B O where …Mentions: OAI.PureTypeSystem.FreeObservations.Frame, OAI.PureTypeSystem.FreeObservations.Minus, OAI.PureTypeSystem.FreeObservations.Plus
- theorem
OAI.PureTypeSystem.FreeObservations.plusLambdaTable_agreeline 824