OAI/Computability/WLIdentification/BufferedCircuits.lean
56 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.WLIdentification.BufferAlgebra.Vectorline 9 - def
OAI.WLIdentification.BufferAlgebra.Determinedline 11 - theorem
OAI.WLIdentification.BufferAlgebra.determined_compline 14 - theorem
OAI.WLIdentification.BufferAlgebra.determined_zeroline 28 - theorem
OAI.WLIdentification.BufferAlgebra.determined_sumline 31 - theorem
OAI.WLIdentification.BufferAlgebra.subsingleton_of_coordinatesline 36 - theorem
OAI.WLIdentification.BufferAlgebra.determined_of_subsingletonline 42 - theorem
OAI.WLIdentification.BufferAlgebra.forwardline 48Source documentation
Arbitrarily shifted private buffers propagate singletonness only forwards.
theorem forward {V W : Type} {Q : Set V} {R : Set W} {B : Set Vector} {f : V → Bit} {g : W → Bit} (d₁ d₂ d₃ : Bit) (h₁ : f '' Q = (fun v => d₁ + v 0) '' B) (h₂ : f '' Q = (fun v => d₂ + v 1) '' B) (h₃ : (fun v => v 0 + v 1) '' B = (fun w => d₃ + g w) '' R) (h : Determined Q f) : Determined R g := by …Mentions: OAI.WLIdentification.BufferAlgebra.Vector, OAI.WLIdentification.Bit, OAI.WLIdentification.BufferAlgebra.Determined
- theorem
OAI.WLIdentification.BufferAlgebra.self_valueline 61Source documentation
Two copies of one source value cancel, even for nonconstant wire shifts.
theorem self_value (x z₁ z₂ d₁ d₂ d₃ : Bit) (h₁ : x = d₁ + z₁) (h₂ : x = d₂ + z₂) (h₃ : z₁ + z₂ = d₃ + x) : x = d₁ + d₂ + d₃ := by …Mentions: OAI.WLIdentification.Bit
- def
OAI.WLIdentification.BufferAlgebra.truthVectorsline 67Source documentation
Truth fixes a coordinate to zero; false coordinates remain free.
def truthVectors {J : Type} (t : J → Prop) : Set (J → Bit) := …Mentions: OAI.WLIdentification.Bit
- theorem
OAI.WLIdentification.BufferAlgebra.truthVectors_nonemptyline 70 - theorem
OAI.WLIdentification.BufferAlgebra.projection_truthline 73 - theorem
OAI.WLIdentification.BufferAlgebra.sum_truthline 93 - def
OAI.WLIdentification.BufferAlgebra.correlatedline 121Source documentation
Correlated coordinates keep both input images full while prescribing the sum.
def correlated (D : Set Bit) : Set Vector := {v | v 0 + v 1 ∈ D}Mentions: OAI.WLIdentification.Bit, OAI.WLIdentification.BufferAlgebra.Vector
- theorem
OAI.WLIdentification.BufferAlgebra.correlated_nonemptyline 123 - theorem
OAI.WLIdentification.BufferAlgebra.correlated_projectionline 127 - theorem
OAI.WLIdentification.BufferAlgebra.correlated_sumline 138 - structure
OAI.WLIdentification.ProductMapline 150Source documentation
A componentwise injection on a nonempty Boolean product domain. Values of
mappingoff the domain are immaterial.structure ProductMap (r : ℕ) where …
- abbrev
OAI.WLIdentification.ProductMap.Pointline 158 - def
OAI.WLIdentification.ProductMap.sourceline 159 - def
OAI.WLIdentification.ProductMap.targetline 160 - def
OAI.WLIdentification.ProductMap.identityline 162 - def
OAI.WLIdentification.ProductMap.flipline 168 - def
OAI.WLIdentification.ProductMap.identityOnline 177 - def
OAI.WLIdentification.ProductMap.ofAddressline 183 - theorem
OAI.WLIdentification.ProductMap.source_ofAddressline 186 - structure
OAI.WLIdentification.ProductCircuitline 190 - inductive
OAI.WLIdentification.ProductCircuit.PortTrueline 211 - def
OAI.WLIdentification.ProductCircuit.Trueline 218 - def
OAI.WLIdentification.ProductCircuit.Acceptedline 220 - theorem
OAI.WLIdentification.ProductCircuit.accepted_reseedline 223 - abbrev
OAI.WLIdentification.ProductCircuit.Primaryline 243 - abbrev
OAI.WLIdentification.ProductCircuit.primaryDimensionline 245 - def
OAI.WLIdentification.ProductCircuit.sumFormline 249 - theorem
OAI.WLIdentification.ProductCircuit.sumForm_applyline 251 - inductive
OAI.WLIdentification.ProductCircuit.Connectionline 254 - abbrev
OAI.WLIdentification.ProductCircuit.connectionSourceline 263 - abbrev
OAI.WLIdentification.ProductCircuit.connectionTargetline 271 - abbrev
OAI.WLIdentification.ProductCircuit.connectionMapline 279 - abbrev
OAI.WLIdentification.ProductCircuit.sourceFormline 287 - abbrev
OAI.WLIdentification.ProductCircuit.targetFormline 296 - inductive
OAI.WLIdentification.ProductCircuit.RealTypeline 305 - inductive
OAI.WLIdentification.ProductCircuit.Comparisonline 311 - abbrev
OAI.WLIdentification.ProductCircuit.realDimensionline 318 - abbrev
OAI.WLIdentification.ProductCircuit.comparisonSourceline 323 - abbrev
OAI.WLIdentification.ProductCircuit.comparisonTargetline 329 - abbrev
OAI.WLIdentification.ProductCircuit.comparisonMapline 335 - abbrev
OAI.WLIdentification.ProductCircuit.comparisonLeftline 341 - abbrev
OAI.WLIdentification.ProductCircuit.comparisonRightline 349 - def
OAI.WLIdentification.ProductCircuit.connectionIndexValueline 359Source documentation
Exactly seeds and three comparisons per private buffer, with two distinct copies of A's full-product identity self-connection.
def connectionIndexValue : C.Connection → ℕ | .original e => Nat.pair 0 (C.edgeIndex e) | .test t => Nat.pair 1 (C.testIndex t) | .flip i => Nat.pair 2 i.val | .broadcast p j => Nat.pair 3 (Nat.pair (C.pointIndex p) j.val) | .self p j => Nat.pair 4 (Nat.pair (NaturalCode.option C.pointIndex p) j.val) | .conflict => Nat.pair 5 0
Mentions: OAI.WLIdentification.NaturalCode.option
- def
OAI.WLIdentification.ProductCircuit.connectionIndexline 367 - def
OAI.WLIdentification.ProductCircuit.realIndexValueline 391 - def
OAI.WLIdentification.ProductCircuit.realIndexline 396 - def
OAI.WLIdentification.ProductCircuit.comparisonIndexValueline 407 - def
OAI.WLIdentification.ProductCircuit.comparisonIndexline 413 - def
OAI.WLIdentification.ProductCircuit.schemasline 425