Sequential Composition of Protocol Specifications #
This file collects all definitions and theorems about sequentially composing ProtocolSpecs and
their associated data.
Composition of Two Protocol Specifications #
Adding a round with direction dir and type Message to the beginning of a ProtocolSpec
Instances For
Concatenate a round with direction dir and type Message to the end of a ProtocolSpec
Instances For
Appending two ProtocolSpecs
Instances For
Appending two ProtocolSpecs
Instances For
The first half of a partial transcript for a concatenated protocol, up to round k < m + n + 1.
This is defined to be the full transcript for the first half if k ≥ m.
Instances For
The second half of a partial transcript for a concatenated protocol.
Instances For
Appending two transcripts for two ProtocolSpecs
Instances For
Appending two transcripts for two ProtocolSpecs
Instances For
Adding a message with a given direction and type to the end of a Transcript
Instances For
The first half of a transcript for a concatenated protocol
Instances For
The second half of a transcript for a concatenated protocol
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Sequential composition of a family of ProtocolSpecs, indexed by i : Fin m.
Defined for definitional equality, so that:
seqCompose !v[] = !p[]seqCompose !v[pSpec₁] = pSpec₁seqCompose !v[pSpec₁, pSpec₂] = pSpec₁ ++ₚ pSpec₂seqCompose !v[pSpec₁, pSpec₂, pSpec₃] = pSpec₁ ++ₚ (pSpec₂ ++ₚ pSpec₃)- and so on.
TODO: add notation ∑ i, pSpec i for seqCompose
Instances For
Sequential composition of a family of FullTranscripts, indexed by i : Fin m.
Defined for definitional equality, so that the following holds definitionally:
seqCompose !h[] = !h[]seqCompose !h[T₁] = T₁seqCompose !h[T₁, T₂] = T₁ ++ₜ T₂seqCompose !h[T₁, T₂, T₃] = T₁ ++ₜ (T₂ ++ₜ T₃)- and so on.
TODO: add notation ∑ i, T i for seqCompose
Instances For
If two protocols have sampleable challenges, then their concatenation also has sampleable challenges.
If two protocols' challenge types are inhabited, then their concatenation's challenge types are also inhabited.
If two protocols' challenge types are finite, then their concatenation's challenge types are also finite.
If two protocols' messages have oracle representations, then their concatenation's messages also have oracle representations.
Instances For
Instances For
The equivalence between the challenge indices of the individual protocols and the challenge indices of the sequential composition.
Instances For
Instances For
Instances For
The equivalence between the message indices of the individual protocols and the message indices of the sequential composition.
Instances For
If all protocols' messages have oracle interfaces, then the messages of their sequential composition also have oracle interfaces.