Imports
import CLRSLean.FourthEdition.Chapter_26.Section_26_1_Multithreading_Model.S1_ComputationDAG
import CLRSLean.FourthEdition.Chapter_26.Section_26_1_Multithreading_Model.S2_ReadyExecution
import CLRSLean.FourthEdition.Chapter_26.Section_26_1_Multithreading_Model.S3_GreedyAccounting
import CLRSLean.FourthEdition.Chapter_26.Section_26_1_Multithreading_Model.S4_ExecutableScheduler
import CLRSLean.FourthEdition.Chapter_26.Section_26_1_Multithreading_Model.S5_SpawnTreeAndLoops26.1. The Basics of Dynamic Multithreading
This reader-facing compatibility module collects the formalization of CLRS §26.1. Its implementation is organized by foundation, residual execution, greedy accounting, an executable-scheduler extension point, and spawn-tree parallel loops. Existing imports of this module continue to expose the full public API.
Main results
-
CompDAG.longestTo_leandCompDAG.span_le_workprove T∞ ≤ T₁ for the weighted computation DAG. -
DAGSchedule.time_le_work_div_add_spanrealizes the CLRS complete-step / incomplete-step argument, givingTₚ ≤ T₁ / p + T∞for an explicit greedy DAG execution. -
SpawnTree.span_le_workproves the corresponding spawn-tree bound. -
parallelLoop_workandparallelLoop_spangive the exact balanced-loop work and span.parallelLoopDepth_powgives the lower logarithmic direction, whileparallelLoopDepth_le_logandparallelLoop_span_le_loggive all-input logarithmic upper bounds for the depth and span.