pith. machine review for the scientific record. sign in
def

ProtocolMatches

definition
show as:
view math explainer →
module
IndisputableMonolith.Foundation.OptionAEmpiricalProtocol
domain
Foundation
line
48 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Foundation.OptionAEmpiricalProtocol on GitHub at line 48.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

used by

formal source

  45  exact ⟨datasetClass c, predictedObservable c, failureMode c, rfl, rfl, rfl⟩
  46
  47/-- A concrete protocol record matches a combination when all three fields agree. -/
  48def ProtocolMatches (c : CombinationID) (p : ProtocolSpec) : Prop :=
  49  p.dataset = datasetClass c ∧
  50    p.observable = predictedObservable c ∧
  51    p.failure = failureMode c
  52
  53theorem protocolSpec_matches (c : CombinationID) :
  54    ProtocolMatches c (protocolSpec c) := by
  55  simp [ProtocolMatches, protocolSpec]
  56
  57/-- Each implemented combination has a unique empirical protocol record. -/
  58theorem uniqueProtocolSpec (c : CombinationID) :
  59    ∃! p : ProtocolSpec, ProtocolMatches c p := by
  60  refine ⟨protocolSpec c, protocolSpec_matches c, ?_⟩
  61  intro p hp
  62  rcases p with ⟨d, o, f⟩
  63  rcases hp with ⟨hd, ho, hf⟩
  64  simp [protocolSpec] at hd ho hf ⊢
  65  exact ⟨hd, ho, hf⟩
  66
  67/-- Distinct combinations have distinct protocol records. -/
  68theorem protocolSpec_injective : Function.Injective protocolSpec := by
  69  intro a b h
  70  apply datasetClass_injective
  71  exact congrArg ProtocolSpec.dataset h
  72
  73/-- Equality of empirical protocols is exactly equality of combinations. -/
  74theorem protocolSpec_eq_iff (a b : CombinationID) :
  75    protocolSpec a = protocolSpec b ↔ a = b := by
  76  constructor
  77  · intro h
  78    exact protocolSpec_injective h