#check @work_par_eq_seq
@work_par_eq_seq : ∀ {α β : Type} (p : ParM α) (q : ParM β) (σ : State), work (p ∥ q) σ = work (p ;; q) σ
#check @ParProg.time_le
@time_le : ∀ {s : ParProg}, s.wfB = true → ∀ (ρ : Regs) (σ : State), time (s.execPar ρ) σ ≤ time (s.execSeq ρ) σ
#check @time_par_lt_seq
@time_par_lt_seq : ∀ {α β : Type} (p : ParM α) (q : ParM β) (σ : State),
WellFormed (p ∥ q) σ → 0 < time p σ → 0 < time q σ → time (p ∥ q) σ < time (p ;; q) σ
#eval (work (execPar pipeline (fun _ => 0)) (fun _ => .int 0),
(9, 9)work (execSeq pipeline (fun _ => 0)) (fun _ => .int 0))
#eval (time (execPar pipeline (fun _ => 0)) (fun _ => .int 0),
(7, 9)time (execSeq pipeline (fun _ => 0)) (fun _ => .int 0))