inductive
definition
Status
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Measurement.RSNative.Core on GitHub at line 25.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
ground_state_is_unique_critical_point -
principle_of_least_action -
energy_conservation -
energy_conservation_of_J_action -
interp_fixedEndpoints -
actionJ_to_kinetic_bridge -
AllConstantsDerived -
H_RSZeroParameterStatus -
ml_derivation_complete -
ml_derivation_falsifiable -
ml_from_geometry_only -
ml_zero_parameter_certificate -
dissolution_holds -
known_lit_false'' -
list_singleton_of_length_one' -
BackpropCompleteUnderInvariant -
consistent_completeStateFrom -
k_R_lt_half -
k_R_ne_zero -
thermal_energy_at_unit_T -
DimensionedQuantity -
hierarchy_problem_dissolution -
vev_implies_phi_ne_one -
euler_mascheroni_implies_ne_zero -
gamma_numerical_bounds -
planck_gate_normalized -
mass_ratio_structural -
c_in_si -
Hubble_from_Omega_Lambda -
Axion -
dmIsNot -
WIMP -
EtaFalsifier -
CircleReducedCohomologyNontrivial -
laws_continuous_subsumes_polynomial -
noFreeParameters -
observer_forcing_certificate -
testClass_count -
iterate_continuous_on_range -
was
formal source
22
23/-! ## Protocol metadata -/
24
25inductive Status
26 | spec
27 | derived
28 | hypothesis
29 | scaffold
30 deriving DecidableEq, Repr
31
32/-- A measurement protocol: how an RS observable is extracted from a state/trace. -/
33structure Protocol where
34 /-- Short protocol identifier (stable, machine-friendly). -/
35 name : String
36 /-- Human-readable summary. -/
37 summary : String := ""
38 /-- Claim hygiene for the extraction step. -/
39 status : Status := .spec
40 /-- Explicit assumptions (kept small and testable). -/
41 assumptions : List String := []
42 /-- Falsifiers: what would prove this protocol wrong. -/
43 falsifiers : List String := []
44
45namespace Protocol
46
47/-- Protocol hygiene predicate (v1/v2).
48
49Rules:
50- `name` must be non-empty
51- if `status` is `.hypothesis` or `.scaffold`, both `assumptions` and `falsifiers` must be non-empty -/
52def hygienic (p : Protocol) : Prop :=
53 p.name ≠ "" ∧
54 match p.status with
55 | .hypothesis | .scaffold => p.assumptions ≠ [] ∧ p.falsifiers ≠ []