structure
definition
ProtocolSpec
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Foundation.OptionAEmpiricalProtocol on GitHub at line 24.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
21open OptionAFalsifierRegistry
22
23/-- Complete empirical protocol record for one combination. -/
24structure ProtocolSpec where
25 dataset : DatasetClass
26 observable : PredictedObservable
27 failure : FailureMode
28 deriving DecidableEq, Repr
29
30/-- The empirical protocol associated to a combination. -/
31def protocolSpec (c : CombinationID) : ProtocolSpec where
32 dataset := datasetClass c
33 observable := predictedObservable c
34 failure := failureMode c
35
36/-- A combination is protocol-falsifiable when it has a dataset class, a
37predicted observable, and a failure mode in the registry. -/
38def ProtocolFalsifiable (c : CombinationID) : Prop :=
39 ∃ d : DatasetClass, ∃ o : PredictedObservable, ∃ f : FailureMode,
40 datasetClass c = d ∧ predictedObservable c = o ∧ failureMode c = f
41
42theorem protocolFalsifiable_all (c : CombinationID) :
43 ProtocolFalsifiable c := by
44 unfold ProtocolFalsifiable
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