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

protocolSpec_matches

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

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Foundation.OptionAEmpiricalProtocol on GitHub at line 53.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

  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
  79  · intro h
  80    rw [h]
  81
  82/-- Distinct combinations have distinct complete empirical protocols. -/
  83theorem protocolSpec_ne_of_ne {a b : CombinationID} (h : a ≠ b) :