diff --git a/_CoqProject b/_CoqProject index 4467ebc..acec7cf 100644 --- a/_CoqProject +++ b/_CoqProject @@ -1,13 +1,3 @@ -R theories SLOT -theories/Permutation.v +theories/RestrictedPermutation.v theories/Foundations.v -theories/Properties.v -theories/Commutativity.v -theories/Tactics.v -theories/Generator.v -theories/Handlers.v -theories/Handlers/Deterministic.v -theories/Handlers/MQ.v -theories/Handlers/Mutex.v -theories/Bruteforce.v -theories/SLOT.v diff --git a/theories/Foundations.v b/theories/Foundations.v index c3eb026..d20eb10 100644 --- a/theories/Foundations.v +++ b/theories/Foundations.v @@ -19,16 +19,19 @@ (* begin hide *) From Coq Require Import - Program - List - Ensembles - Relation_Definitions - RelationClasses. + Program + List + Ensembles + Relation_Definitions + RelationClasses. Import ListNotations. From Hammer Require Import - Tactics. + Tactics. + +From SLOT Require Export + RestrictedPermutation. Declare Scope slot_scope. Open Scope slot_scope. @@ -40,6 +43,33 @@ Global Arguments Complement {_}. Global Arguments Disjoint {_}. (* end hide *) +(** * Nondeterministic Labeled Transition System + +[TransitionSystem] class is the base abstraction of SLOT. It is used +both to describe side effects of syscalls, as well as state of the +process scheduler. + +[Future] is a datatype that represents valid transitions: + + - [fut_cont] constructor represents a state transition via a label + + - [fut_result] constructor represents a terminal state producing + result of a computation + +*** Parameters: + + - <> — set of points of the state space + + - <