IndisputableMonolith.Foundation.OptionAEmpiricalActionPlan
IndisputableMonolith/Foundation/OptionAEmpiricalActionPlan.lean · 139 lines · 18 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Foundation.OptionAEmpiricalSchedule
3
4/-!
5# Option A Empirical Action Plan
6
7Concrete analysis action classes for the scheduled Option A empirical tests.
8The schedule says what to run first; this file says what kind of computation
9each scheduled test requires.
10
11Lean status: 0 sorry, 0 axiom.
12-/
13
14namespace IndisputableMonolith
15namespace Foundation
16namespace OptionAEmpiricalActionPlan
17
18open OptionAFalsifierRegistry
19open OptionAEmpiricalProtocol
20open OptionAEmpiricalQueue
21open OptionAEmpiricalSchedule
22
23/-- Coarse computational action needed to test a protocol. -/
24inductive AnalysisAction where
25 | fitFactorModel
26 | fitDiscreteCollapse
27 | plateauDetection
28 | countRegulatoryStates
29 | estimatePhiPowerRatio
30 | trainMultiaxisDecoder
31 | fitSharedResponseCoefficient
32 | benchmarkCircuitAddressing
33 | orderProgressionTest
34 deriving DecidableEq, Repr, Fintype
35
36theorem analysisAction_count : Fintype.card AnalysisAction = 9 := by
37 decide
38
39/-- Action required by each implemented Option A combination. -/
40def analysisAction : CombinationID → AnalysisAction
41 | .c3OncologyTensor => .fitFactorModel
42 | .c8MillerSpan => .fitDiscreteCollapse
43 | .c5AttentionTensor => .plateauDetection
44 | .c9RegulatoryCeiling => .countRegulatoryStates
45 | .c2PlanetStrata => .estimatePhiPowerRatio
46 | .c1CognitiveTensor => .trainMultiaxisDecoder
47 | .c7UniversalResponse => .fitSharedResponseCoefficient
48 | .c4QuantumMolecularDepth => .benchmarkCircuitAddressing
49 | .c6EriksonReverse => .orderProgressionTest
50
51theorem analysisAction_injective : Function.Injective analysisAction := by
52 intro a b h
53 cases a <;> cases b <;> simp [analysisAction] at h ⊢
54
55theorem c3_action :
56 analysisAction .c3OncologyTensor = .fitFactorModel := rfl
57
58theorem c8_action :
59 analysisAction .c8MillerSpan = .fitDiscreteCollapse := rfl
60
61theorem c5_action :
62 analysisAction .c5AttentionTensor = .plateauDetection := rfl
63
64theorem c9_action :
65 analysisAction .c9RegulatoryCeiling = .countRegulatoryStates := rfl
66
67theorem c2_action :
68 analysisAction .c2PlanetStrata = .estimatePhiPowerRatio := rfl
69
70/-- Every scheduled first-pass item has an analysis action. -/
71def HasAnalysisAction (c : CombinationID) : Prop :=
72 ∃ a : AnalysisAction, analysisAction c = a
73
74theorem hasAnalysisAction_all (c : CombinationID) :
75 HasAnalysisAction c := by
76 exact ⟨analysisAction c, rfl⟩
77
78theorem scheduled_has_analysis_action
79 {c : CombinationID} (_h : c ∈ firstPassSchedule) :
80 HasAnalysisAction c :=
81 hasAnalysisAction_all c
82
83/-- First-pass actions in schedule order. -/
84def firstPassActions : List AnalysisAction :=
85 firstPassSchedule.map analysisAction
86
87theorem firstPassActions_eq :
88 firstPassActions =
89 [ .fitFactorModel
90 , .fitDiscreteCollapse
91 , .plateauDetection
92 , .countRegulatoryStates
93 , .estimatePhiPowerRatio
94 ] := by
95 decide
96
97theorem firstPassActions_length :
98 firstPassActions.length = 5 := by
99 rw [firstPassActions_eq]
100 decide
101
102theorem firstPassActions_nodup :
103 firstPassActions.Nodup := by
104 rw [firstPassActions_eq]
105 decide
106
107structure EmpiricalActionPlanCert where
108 nine_actions : Fintype.card AnalysisAction = 9
109 action_injective : Function.Injective analysisAction
110 c3_first_action : analysisAction .c3OncologyTensor = .fitFactorModel
111 c8_second_action : analysisAction .c8MillerSpan = .fitDiscreteCollapse
112 c5_third_action : analysisAction .c5AttentionTensor = .plateauDetection
113 scheduled_actions : ∀ {c : CombinationID}, c ∈ firstPassSchedule → HasAnalysisAction c
114 first_pass_actions :
115 firstPassActions =
116 [ .fitFactorModel
117 , .fitDiscreteCollapse
118 , .plateauDetection
119 , .countRegulatoryStates
120 , .estimatePhiPowerRatio
121 ]
122 first_pass_actions_length : firstPassActions.length = 5
123 first_pass_actions_nodup : firstPassActions.Nodup
124
125def empiricalActionPlanCert : EmpiricalActionPlanCert where
126 nine_actions := analysisAction_count
127 action_injective := analysisAction_injective
128 c3_first_action := c3_action
129 c8_second_action := c8_action
130 c5_third_action := c5_action
131 scheduled_actions := scheduled_has_analysis_action
132 first_pass_actions := firstPassActions_eq
133 first_pass_actions_length := firstPassActions_length
134 first_pass_actions_nodup := firstPassActions_nodup
135
136end OptionAEmpiricalActionPlan
137end Foundation
138end IndisputableMonolith
139