Built with Alectryon, running Coq+SerAPI v8.20.0+0.20.0. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
[Loading ML file ssrmatching_plugin.cmxs (using legacy method) ... done]
[Loading ML file ssreflect_plugin.cmxs (using legacy method) ... done]
[Loading ML file ring_plugin.cmxs (using legacy method) ... done]
Serlib plugin: coq-elpi.elpi is not available: serlib support is missing.
Incremental checking for commands in this plugin will be impacted.
[Loading ML file coq-elpi.elpi ... done]
[Loading ML file zify_plugin.cmxs (using legacy method) ... done]
[Loading ML file micromega_core_plugin.cmxs (using legacy method) ... done]
[Loading ML file micromega_plugin.cmxs (using legacy method) ... done]
[Loading ML file btauto_plugin.cmxs (using legacy method) ... done]
Notation"_ + _" was already used in scope nat_scope.
[notation-overridden,parsing,default]
Notation"_ - _" was already used in scope nat_scope.
[notation-overridden,parsing,default]
Notation"_ <= _" was already used in scope nat_scope.
[notation-overridden,parsing,default]
Notation"_ < _" was already used in scope nat_scope.
[notation-overridden,parsing,default]
Notation"_ >= _" was already used in scope nat_scope.
[notation-overridden,parsing,default]
Notation"_ > _" was already used in scope nat_scope.
[notation-overridden,parsing,default]
Notation"_ <= _ <= _" was already used in scope
nat_scope. [notation-overridden,parsing,default]
Notation"_ < _ <= _" was already used in scope
nat_scope. [notation-overridden,parsing,default]
Notation"_ <= _ < _" was already used in scope
nat_scope. [notation-overridden,parsing,default]
Notation"_ < _ < _" was already used in scope
nat_scope. [notation-overridden,parsing,default]
Notation"_ * _" was already used in scope nat_scope.
[notation-overridden,parsing,default]
Require Export prosa.analysis.facts.preemption.rtc_threshold.preemptive.Require Export prosa.analysis.facts.readiness.basic.Require Export prosa.analysis.definitions.tardiness.Require Export prosa.implementation.facts.ideal_uni.prio_aware.Require Export prosa.implementation.definitions.task.Require Export prosa.model.priority.edf.(** ** Fully-Preemptive Earliest-Deadline-First Schedules *)(** In this section, we prove that the fully-preemptive preemption policy under earliest-deadline-first schedules is valid, and that the scheduling policy is respected at each preemption point. This file does not contain novel facts; it is used to uniform POET's certificates and minimize their verbosity. *)SectionSchedule.(** In this file, we adopt the Prosa standard implementation of jobs and tasks. *)DefinitionTask := concrete_task : eqType.DefinitionJob := concrete_job : eqType.(** Consider any valid arrival sequence, ... *)Variablearr_seq : arrival_sequence Job.HypothesisH_valid_arrivals : valid_arrival_sequence arr_seq.(** ... assume basic readiness, ... *)Instancebasic_ready_instance : JobReady Job (ideal.processor_state Job) :=
basic.basic_ready_instance.(** ... and consider any fully-preemptive, earliest-deadline-first schedule. *)#[local] Existing Instancefully_preemptive_job_model.#[local] Existing InstanceEDF.Definitionsched := uni_schedule arr_seq.(** First, we remark that such a schedule is valid. *)