From Coq Require Import FinFun FunctionalExtensionality. From stdpp Require Import prelude finite. From VLSM.Lib Require Import Preamble. From VLSM.Core Require Import VLSM VLSMProjections Composition Validator ProjectionTraces. From VLSM.Core Require Import SubProjectionTraces Equivocation Equivocation.NoEquivocation.
Core: Fixed Set Equivocation
Section sec_fixed_equivocation_without_fullnode. Context {message : Type} `{FinSet index Ci} `{finite.Finite index} (IM : index -> VLSM message) `{forall i : index, HasBeenSentCapability (IM i)} `{forall i : index, HasBeenReceivedCapability (IM i)} (equivocating : Ci) .
free_equivocating_vlsm_composition is the free composition of the subset of
components which are allowed to equivocate.
Definition free_equivocating_vlsm_composition : VLSM message :=
free_composite_vlsm (sub_IM IM (elements equivocating)).
preloaded_free_equivocating_vlsm_composition preloads the free composition
of equivocating components all with the messages given by the
messageSet
.
Definition preloaded_free_equivocating_vlsm_composition
(messageSet : message -> Prop)
:= preloaded_vlsm free_equivocating_vlsm_composition messageSet.
Given a composite state
s
, we define the composition of equivocators
preloaded with the messages directly observed in s
.
Definition equivocators_composition_for_directly_observed s
:= preloaded_free_equivocating_vlsm_composition (composite_has_been_directly_observed IM s).
The fixed equivocation constraint for a regular composition stipulates that
a message can be received either if it has_been_directly_observed
or it can be emitted by the free composition of equivocators preloaded with
the messages directly observed in the current state.
Definition fixed_equivocation s m := composite_has_been_directly_observed IM s m \/ can_emit (equivocators_composition_for_directly_observed s) m. Definition fixed_equivocation_constraint (l : composite_label IM) (som : composite_state IM * option message) : Prop := let (s, om) := som in from_option (fixed_equivocation s) True om.
Composition of regular VLSMs under the fixed_equivocation_constraints.
In the remainder of this module we will refer to this as the
Fixed
VLSM.
Definition fixed_equivocation_vlsm_composition : VLSM message := composite_vlsm IM fixed_equivocation_constraint.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: CiVLSM_incl fixed_equivocation_vlsm_composition (free_composite_vlsm IM)by apply VLSM_incl_constrained_vlsm. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: CiVLSM_incl fixed_equivocation_vlsm_composition (free_composite_vlsm IM)
A (seemingly) stronger definition for fixed-set equivocation
Section sec_strong_fixed_equivocation. Definition sent_by_non_equivocating s m := exists i, i ∉ elements equivocating /\ has_been_sent (IM i) (s i) m.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: CiRelDecision sent_by_non_equivocatingmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: CiRelDecision sent_by_non_equivocatingmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: messageDecision (sent_by_non_equivocating s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: messageExists (λ i : index, has_been_sent (IM i) (s i) m) (filter (λ i : index, i ∉ elements equivocating) (enum index)) ↔ sent_by_non_equivocating s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: messageDecision (Exists (λ i : index, has_been_sent (IM i) (s i) m) (filter (λ i : index, i ∉ elements equivocating) (enum index)))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: messageExists (λ i : index, has_been_sent (IM i) (s i) m) (filter (λ i : index, i ∉ elements equivocating) (enum index)) ↔ sent_by_non_equivocating s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message(∃ x : index, x ∈ filter (λ i : index, i ∉ elements equivocating) (enum index) ∧ has_been_sent (IM x) (s x) m) ↔ sent_by_non_equivocating s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message∀ x : index, x ∈ filter (λ i : index, i ∉ elements equivocating) (enum index) ∧ has_been_sent (IM x) (s x) m ↔ (x ∉ elements equivocating) ∧ has_been_sent (IM x) (s x) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
i: indexi ∈ filter (λ i : index, i ∉ elements equivocating) (enum index) ∧ has_been_sent (IM i) (s i) m ↔ (i ∉ elements equivocating) ∧ has_been_sent (IM i) (s i) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
i: index((i ∉ elements equivocating) ∧ i ∈ enum index) ∧ has_been_sent (IM i) (s i) m ↔ (i ∉ elements equivocating) ∧ has_been_sent (IM i) (s i) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
i: index(i ∉ elements equivocating) ∧ i ∈ enum index ↔ i ∉ elements equivocatingby apply elem_of_enum.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
i: index
H10: i ∉ elements equivocatingi ∈ enum indexby apply Exists_dec; intro i; apply has_been_sent_dec. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: messageDecision (Exists (λ i : index, has_been_sent (IM i) (s i) m) (filter (λ i : index, i ∉ elements equivocating) (enum index)))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
Hsent: sent_by_non_equivocating s mcomposite_has_been_sent IM s mby destruct Hsent as [i [Hi Hsent]]; exists i. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
Hsent: sent_by_non_equivocating s mcomposite_has_been_sent IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
Hsent: sent_by_non_equivocating s mcomposite_has_been_directly_observed IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
Hsent: sent_by_non_equivocating s mcomposite_has_been_directly_observed IM s mby apply sent_by_non_equivocating_are_sent. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
Hsent: sent_by_non_equivocating s mcomposite_has_been_sent IM s m
Given a composite state
s
, we define the composition of equivocators
preloaded with the messages sent by non-equivocating components in s
.
Definition equivocators_composition_for_sent s := preloaded_free_equivocating_vlsm_composition (sent_by_non_equivocating s). Definition strong_fixed_equivocation s m := sent_by_non_equivocating s m \/ can_emit (equivocators_composition_for_sent s) m. Definition strong_fixed_equivocation_constraint (l : composite_label IM) (som : composite_state IM * option message) : Prop := let (s, om) := som in from_option (strong_fixed_equivocation s) True om. Definition strong_fixed_equivocation_vlsm_composition : VLSM message := composite_vlsm IM strong_fixed_equivocation_constraint.
The composition of equivocators preloaded with only the messages sent by
non-equivocators is included in that preloaded with all the directly observed
messages.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
base_s: ∀ x : index, state (IM x)VLSM_incl (equivocators_composition_for_sent base_s) (equivocators_composition_for_directly_observed base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
base_s: ∀ x : index, state (IM x)VLSM_incl (equivocators_composition_for_sent base_s) (equivocators_composition_for_directly_observed base_s)by apply sent_by_non_equivocating_are_directly_observed. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
base_s: ∀ x : index, state (IM x)∀ m : message, sent_by_non_equivocating base_s m → composite_has_been_directly_observed IM base_s m
strong_fixed_equivocation_constraint is stronger than
the fixed_equivocation_constraint.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: messagestrong_fixed_equivocation s m → fixed_equivocation s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: messagestrong_fixed_equivocation s m → fixed_equivocation s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
Hobs: sent_by_non_equivocating s mcomposite_has_been_directly_observed IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
Hemit: can_emit (equivocators_composition_for_sent s) mcan_emit (equivocators_composition_for_directly_observed s) mby apply sent_by_non_equivocating_are_directly_observed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
Hobs: sent_by_non_equivocating s mcomposite_has_been_directly_observed IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: message
Hemit: can_emit (equivocators_composition_for_sent s) mcan_emit (equivocators_composition_for_directly_observed s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: messagecan_emit (equivocators_composition_for_sent s) m → can_emit (equivocators_composition_for_directly_observed s) mby apply Equivocators_Strong_Fixed_incl. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
s: ∀ x : index, state (IM x)
m: messageVLSM_incl_part (preloaded_vlsm_machine free_equivocating_vlsm_composition (sent_by_non_equivocating s)) (preloaded_vlsm_machine free_equivocating_vlsm_composition (composite_has_been_directly_observed IM s))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Cistrong_constraint_subsumption (free_composite_vlsm IM) strong_fixed_equivocation_constraint fixed_equivocation_constraintmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Cistrong_constraint_subsumption (free_composite_vlsm IM) strong_fixed_equivocation_constraint fixed_equivocation_constraintby apply strong_fixed_equivocation_subsumption. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: message
Hc: strong_fixed_equivocation_constraint l (s, Some m)fixed_equivocation_constraint l (s, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: CiVLSM_incl strong_fixed_equivocation_vlsm_composition fixed_equivocation_vlsm_compositionmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: CiVLSM_incl strong_fixed_equivocation_vlsm_composition fixed_equivocation_vlsm_compositionmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ciinput_valid_constraint_subsumption (free_composite_vlsm IM) strong_fixed_equivocation_constraint fixed_equivocation_constraintmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Cipreloaded_constraint_subsumption (free_composite_vlsm IM) strong_fixed_equivocation_constraint fixed_equivocation_constraintby apply strong_fixed_equivocation_constraint_subsumption. Qed. End sec_strong_fixed_equivocation. End sec_fixed_equivocation_without_fullnode.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Cistrong_constraint_subsumption (free_composite_vlsm IM) strong_fixed_equivocation_constraint fixed_equivocation_constraint
Section sec_fixed_equivocation_index_incl. Context {message : Type} `{FinSet index Ci} `{finite.Finite index} (IM : index -> VLSM message) `{forall i : index, HasBeenSentCapability (IM i)} `{forall i : index, HasBeenReceivedCapability (IM i)} (indices1 indices2 : Ci) (Hincl : elements indices1 ⊆ elements indices2) .message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2
s: state (composite_type IM)VLSM_embedding (equivocators_composition_for_directly_observed IM indices1 s) (equivocators_composition_for_directly_observed IM indices2 s) (lift_sub_incl_label IM (elements indices1) (elements indices2) Hincl) (lift_sub_incl_state IM (elements indices1) (elements indices2))by apply lift_sub_incl_preloaded_embedding. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2
s: state (composite_type IM)VLSM_embedding (equivocators_composition_for_directly_observed IM indices1 s) (equivocators_composition_for_directly_observed IM indices2 s) (lift_sub_incl_label IM (elements indices1) (elements indices2) Hincl) (lift_sub_incl_state IM (elements indices1) (elements indices2))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2∀ (s : composite_state IM) (m : message), fixed_equivocation IM indices1 s m → fixed_equivocation IM indices2 s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2∀ (s : composite_state IM) (m : message), fixed_equivocation IM indices1 s m → fixed_equivocation IM indices2 s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2
s: composite_state IM
m: message
Hemit: can_emit (equivocators_composition_for_directly_observed IM indices1 s) mfixed_equivocation IM indices2 s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2
s: composite_state IM
m: message
Hemit: can_emit (equivocators_composition_for_directly_observed IM indices1 s) mcan_emit (equivocators_composition_for_directly_observed IM indices2 s) mby apply (VLSM_embedding_can_emit Hproj) in Hemit. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2
s: composite_state IM
m: message
Hemit: can_emit (equivocators_composition_for_directly_observed IM indices1 s) m
Hproj: VLSM_embedding (equivocators_composition_for_directly_observed IM indices1 s) (equivocators_composition_for_directly_observed IM indices2 s) (lift_sub_incl_label IM (elements indices1) (elements indices2) Hincl) (lift_sub_incl_state IM (elements indices1) (elements indices2))can_emit (equivocators_composition_for_directly_observed IM indices2 s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2strong_constraint_subsumption (free_composite_vlsm IM) (fixed_equivocation_constraint IM indices1) (fixed_equivocation_constraint IM indices2)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2strong_constraint_subsumption (free_composite_vlsm IM) (fixed_equivocation_constraint IM indices1) (fixed_equivocation_constraint IM indices2)by apply fixed_equivocation_index_incl_subsumption. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: messagefixed_equivocation_constraint IM indices1 l (s, Some m) → fixed_equivocation_constraint IM indices2 l (s, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2VLSM_incl (fixed_equivocation_vlsm_composition IM indices1) (fixed_equivocation_vlsm_composition IM indices2)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2VLSM_incl (fixed_equivocation_vlsm_composition IM indices1) (fixed_equivocation_vlsm_composition IM indices2)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2input_valid_constraint_subsumption (free_composite_vlsm IM) (fixed_equivocation_constraint IM indices1) (fixed_equivocation_constraint IM indices2)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2preloaded_constraint_subsumption (free_composite_vlsm IM) (fixed_equivocation_constraint IM indices1) (fixed_equivocation_constraint IM indices2)by apply fixed_equivocation_constraint_index_incl_subsumption. Qed. End sec_fixed_equivocation_index_incl.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
indices1, indices2: Ci
Hincl: elements indices1 ⊆ elements indices2strong_constraint_subsumption (free_composite_vlsm IM) (fixed_equivocation_constraint IM indices1) (fixed_equivocation_constraint IM indices2)
Restricting Fixed valid traces to only the equivocators
Section sec_fixed_equivocator_sub_projection. Context {message : Type} `{FinSet index Ci} `{finite.Finite index} (IM : index -> VLSM message) `{forall i, HasBeenSentCapability (IM i)} `{forall i, HasBeenReceivedCapability (IM i)} (equivocators : Ci) (Fixed := fixed_equivocation_vlsm_composition IM equivocators) (StrongFixed := strong_fixed_equivocation_vlsm_composition IM equivocators) (Free := free_composite_vlsm IM) (PreFree := preloaded_with_all_messages_vlsm Free) . Definition Fixed_incl_Free : VLSM_incl Fixed Free := VLSM_incl_constrained_vlsm _ _.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM messageVLSM_incl (preloaded_with_all_messages_vlsm Fixed) (preloaded_with_all_messages_vlsm Free)exact (preloaded_constraint_subsumption_incl_free _ _). Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM messageVLSM_incl (preloaded_with_all_messages_vlsm Fixed) (preloaded_with_all_messages_vlsm Free)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM messageVLSM_incl StrongFixed Freeexact (VLSM_incl_constrained_vlsm _ _). Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM messageVLSM_incl StrongFixed Freemessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s∀ m : message, sent_by_non_equivocating IM equivocators s m → sent_by_non_equivocating IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s∀ m : message, sent_by_non_equivocating IM equivocators s m → sent_by_non_equivocating IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s i) msent_by_non_equivocating IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s i) mhas_been_sent (IM i) (base_s i) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s i) moracle_stepwise_props ?selector (has_been_sent (IM i))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s i) min_futures (preloaded_with_all_messages_vlsm (IM i)) (s i) (base_s i)by apply has_been_sent_stepwise_props.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s i) moracle_stepwise_props ?selector (has_been_sent (IM i))by apply (VLSM_projection_in_futures (preloaded_component_projection IM i)). Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s i) min_futures (preloaded_with_all_messages_vlsm (IM i)) (s i) (base_s i)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s∀ m : message, can_emit (equivocators_composition_for_sent IM equivocators s) m → can_emit (equivocators_composition_for_sent IM equivocators base_s) mby apply VLSM_incl_can_emit, preloaded_vlsm_incl, in_futures_preserves_sent_by_non_equivocating. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s∀ m : message, can_emit (equivocators_composition_for_sent IM equivocators s) m → can_emit (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hstrong: strong_fixed_equivocation IM equivocators s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hstrong: strong_fixed_equivocation IM equivocators s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hsent: sent_by_non_equivocating IM equivocators s msent_by_non_equivocating IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hemit: can_emit (equivocators_composition_for_sent IM equivocators s) mcan_emit (equivocators_composition_for_sent IM equivocators base_s) mby eapply in_futures_preserves_sent_by_non_equivocating.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hsent: sent_by_non_equivocating IM equivocators s msent_by_non_equivocating IM equivocators base_s mby eapply in_futures_preserves_can_emit_by_equivocators_composition_for_sent. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, base_s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hemit: can_emit (equivocators_composition_for_sent IM equivocators s) mcan_emit (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s: ∀ x : index, state (IM x)
m: message
Hstrong: strong_fixed_equivocation IM equivocators base_s mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s: ∀ x : index, state (IM x)
m: message
Hstrong: strong_fixed_equivocation IM equivocators base_s mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s: ∀ x : index, state (IM x)
m: message
Hobs: sent_by_non_equivocating IM equivocators base_s mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s: ∀ x : index, state (IM x)
m: message
Hemit: can_emit (equivocators_composition_for_sent IM equivocators base_s) mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mby apply initial_message_is_valid; right.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s: ∀ x : index, state (IM x)
m: message
Hobs: sent_by_non_equivocating IM equivocators base_s mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mby apply emitted_messages_are_valid in Hemit. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s: ∀ x : index, state (IM x)
m: message
Hemit: can_emit (equivocators_composition_for_sent IM equivocators base_s) mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hstrong: strong_fixed_equivocation IM equivocators s mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hstrong: strong_fixed_equivocation IM equivocators s mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hstrong: strong_fixed_equivocation IM equivocators s m
Hobs: sent_by_non_equivocating IM equivocators base_s mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hstrong: strong_fixed_equivocation IM equivocators s m
Hemit: can_emit (equivocators_composition_for_sent IM equivocators base_s) mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mby apply initial_message_is_valid; right.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hstrong: strong_fixed_equivocation IM equivocators s m
Hobs: sent_by_non_equivocating IM equivocators base_s mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) mby apply emitted_messages_are_valid in Hemit. Qed. Section sec_fixed_finite_valid_trace_sub_projection_helper_lemmas.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: state PreFree
Hfuture_s: in_futures PreFree s base_s
m: message
Hstrong: strong_fixed_equivocation IM equivocators s m
Hemit: can_emit (equivocators_composition_for_sent IM equivocators base_s) mvalid_message_prop (equivocators_composition_for_sent IM equivocators base_s) m
The results in this section are not meant to be used directly. They are just
sub-lemmas of fixed_finite_valid_trace_sub_projection_helper.
We make an assumption (
We then restate (some of) these lemmas without the extra assumption.
Hobs_s_protocol
) which is later shown to hold
for all Fixed valid states.
Context
(base_s s : composite_state IM)
(Hobs_s_protocol : forall m, composite_has_been_directly_observed IM s m ->
strong_fixed_equivocation IM equivocators base_s m)
.
See the lemma fixed_input_has_strong_fixed_equivocation below.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
l: label Fixed
m: message
Hv: input_valid Fixed l (s, Some m)strong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
l: label Fixed
m: message
Hv: input_valid Fixed l (s, Some m)strong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
l: label Fixed
m: message
Hobs: composite_has_been_directly_observed IM s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
l: label Fixed
m: message
Hemit: can_emit (equivocators_composition_for_directly_observed IM equivocators s) mstrong_fixed_equivocation IM equivocators base_s mby apply Hobs_s_protocol.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
l: label Fixed
m: message
Hobs: composite_has_been_directly_observed IM s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
l: label Fixed
m: message
Hemit: can_emit (equivocators_composition_for_directly_observed IM equivocators s) mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
l: label Fixed
m: message
Hemit: can_emit (equivocators_composition_for_directly_observed IM equivocators s) mcan_emit (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
Hemit: can_emit (equivocators_composition_for_directly_observed IM equivocators s) mcan_emit (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: messagecan_emit (equivocators_composition_for_directly_observed IM equivocators s) m → can_emit (equivocators_composition_for_sent IM equivocators base_s) mmessage, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: messageVLSM_incl_part (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s))message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
s0: label {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
s1: state {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
m0: message
Hv: input_valid {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |} s0 (s1, Some m0)
HsY: valid_state_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} (id s1)
HmX: initial_message_prop m0valid_message_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} m0message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
s0: label {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
s1: state {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
m0: message
Hv: input_valid {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |} s0 (s1, Some m0)
HsY: valid_state_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} (id s1)
Him: initial_message_prop m0valid_message_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} m0message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
s0: label {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
s1: state {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
m0: message
Hv: input_valid {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |} s0 (s1, Some m0)
HsY: valid_state_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} (id s1)
Hobs: composite_has_been_directly_observed IM s m0valid_message_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} m0by apply initial_message_is_valid; left.message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
s0: label {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
s1: state {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
m0: message
Hv: input_valid {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |} s0 (s1, Some m0)
HsY: valid_state_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} (id s1)
Him: initial_message_prop m0valid_message_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} m0message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
s0: label {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
s1: state {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
m0: message
Hv: input_valid {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |} s0 (s1, Some m0)
HsY: valid_state_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} (id s1)
Hobs: composite_has_been_directly_observed IM s m0valid_message_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} m0message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
s0: label {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
s1: state {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
m0: message
Hv: input_valid {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |} s0 (s1, Some m0)
HsY: valid_state_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} (id s1)
Hsent: sent_by_non_equivocating IM equivocators base_s m0valid_message_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} m0message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
s0: label {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
s1: state {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
m0: message
Hv: input_valid {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |} s0 (s1, Some m0)
HsY: valid_state_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} (id s1)
Hemit: can_emit (equivocators_composition_for_sent IM equivocators base_s) m0valid_message_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} m0by apply initial_message_is_valid; right.message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
s0: label {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
s1: state {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
m0: message
Hv: input_valid {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |} s0 (s1, Some m0)
HsY: valid_state_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} (id s1)
Hsent: sent_by_non_equivocating IM equivocators base_s m0valid_message_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} m0by apply emitted_messages_are_valid. Qed.message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
s0: label {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
s1: state {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |}
m0: message
Hv: input_valid {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ composite_has_been_directly_observed IM s m; transition := transition; valid := valid |} |} s0 (s1, Some m0)
HsY: valid_state_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} (id s1)
Hemit: can_emit (equivocators_composition_for_sent IM equivocators base_s) m0valid_message_prop {| vlsm_type := {| state := composite_state (sub_IM IM (elements equivocators)); label := composite_label (sub_IM IM (elements equivocators)) |}; vlsm_machine := {| initial_state_prop := initial_state_prop; s0 := VLSM.s0 (free_equivocating_vlsm_composition IM equivocators) (free_equivocating_vlsm_composition IM equivocators); initial_message_prop := λ m : message, initial_message_prop m ∨ sent_by_non_equivocating IM equivocators base_s m; transition := transition; valid := valid |} |} m0message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
l: {n : index & label (IM n)}
e: sub_index_prop (elements equivocators) (projT1 l)
iom, oom: option message
sf: state Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)input_valid_transition (equivocators_composition_for_sent IM equivocators base_s) (composite_label_sub_projection IM (elements equivocators) l e) (composite_state_sub_projection IM (elements equivocators) s, iom) (composite_state_sub_projection IM (elements equivocators) sf, oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
l: {n : index & label (IM n)}
e: sub_index_prop (elements equivocators) (projT1 l)
iom, oom: option message
sf: state Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)input_valid_transition (equivocators_composition_for_sent IM equivocators base_s) (composite_label_sub_projection IM (elements equivocators) l e) (composite_state_sub_projection IM (elements equivocators) s, iom) (composite_state_sub_projection IM (elements equivocators) sf, oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) (projT1 (existT i li))
iom, oom: option message
sf: state Fixed
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)input_valid_transition (equivocators_composition_for_sent IM equivocators base_s) (composite_label_sub_projection IM (elements equivocators) (existT i li) e) (composite_state_sub_projection IM (elements equivocators) s, iom) (composite_state_sub_projection IM (elements equivocators) sf, oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)input_valid_transition (equivocators_composition_for_sent IM equivocators base_s) (composite_label_sub_projection IM (elements equivocators) (existT i li) e) (composite_state_sub_projection IM (elements equivocators) s, iom) (composite_state_sub_projection IM (elements equivocators) sf, oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)option_valid_message_prop (equivocators_composition_for_sent IM equivocators base_s) iommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)valid (composite_label_sub_projection IM (elements equivocators) (existT i li) e) (composite_state_sub_projection IM (elements equivocators) s, iom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)transition (composite_label_sub_projection IM (elements equivocators) (existT i li) e) (composite_state_sub_projection IM (elements equivocators) s, iom) = (composite_state_sub_projection IM (elements equivocators) sf, oom)done.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)option_valid_message_prop (equivocators_composition_for_sent IM equivocators base_s) iommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid Fixed (existT i li) (s, iom)option_valid_message_prop (equivocators_composition_for_sent IM equivocators base_s) iommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
im: message
oom: option message
sf: composite_state IM
Ht: input_valid Fixed (existT i li) (s, Some im)option_valid_message_prop (equivocators_composition_for_sent IM equivocators base_s) (Some im)by apply (fixed_input_has_strong_fixed_equivocation_helper _ _ Ht).message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
im: message
oom: option message
sf: composite_state IM
Ht: input_valid Fixed (existT i li) (s, Some im)strong_fixed_equivocation IM equivocators base_s imby apply Ht.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)valid (composite_label_sub_projection IM (elements equivocators) (existT i li) e) (composite_state_sub_projection IM (elements equivocators) s, iom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: input_valid_transition Fixed (existT i li) (s, iom) ( sf, oom)transition (composite_label_sub_projection IM (elements equivocators) (existT i li) e) (composite_state_sub_projection IM (elements equivocators) s, iom) = (composite_state_sub_projection IM (elements equivocators) sf, oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: (let (si', om') := transition li (s i, iom) in (state_update IM s i si', om')) = ( sf, oom)transition (composite_label_sub_projection IM (elements equivocators) (existT i li) e) (composite_state_sub_projection IM (elements equivocators) s, iom) = (composite_state_sub_projection IM (elements equivocators) sf, oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
Ht: (let (si', om') := transition li (s i, iom) in (state_update IM s i si', om')) = ( sf, oom)(let (si', om') := transition li (s i, iom) in (state_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si', om')) = (composite_state_sub_projection IM (elements equivocators) sf, oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
si': state (IM i)
om': option message
Ht: (state_update IM s i si', om') = (sf, oom)(state_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si', om') = (composite_state_sub_projection IM (elements equivocators) sf, oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
si': state (IM i)
om': option message(state_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si', oom) = (composite_state_sub_projection IM (elements equivocators) (state_update IM s i si'), oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
i: index
li: label (IM i)
e: sub_index_prop (elements equivocators) i
iom, oom: option message
sf: composite_state IM
si': state (IM i)
om': option messagestate_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si' = composite_state_sub_projection IM (elements equivocators) (state_update IM s i si')message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
equivocators: Ci
s: composite_state IM
i: index
e: sub_index_prop (elements equivocators) i
si': state (IM i)state_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si' = composite_state_sub_projection IM (elements equivocators) (state_update IM s i si')message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
equivocators: Ci
s: composite_state IM
i: index
e: sub_index_prop (elements equivocators) i
si': state (IM i)∀ x : sub_index (elements equivocators), state_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si' x = composite_state_sub_projection IM (elements equivocators) (state_update IM s i si') xmessage, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
equivocators: Ci
s: composite_state IM
i: index
e: sub_index_prop (elements equivocators) i
si': state (IM i)
sub_j: sub_index (elements equivocators)state_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si' sub_j = composite_state_sub_projection IM (elements equivocators) (state_update IM s i si') sub_jmessage, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
equivocators: Ci
s: composite_state IM
i: index
e: sub_index_prop (elements equivocators) i
si': state (IM i)
sub_j: sub_index (elements equivocators)
j: index
Hj: sub_index_prop (elements equivocators) j
Heqsub_j: sub_j = dexist j Hjstate_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si' sub_j = composite_state_sub_projection IM (elements equivocators) (state_update IM s i si') sub_jmessage, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
equivocators: Ci
s: composite_state IM
i: index
e: sub_index_prop (elements equivocators) i
si': state (IM i)
j: index
Hj: sub_index_prop (elements equivocators) jstate_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si' (dexist j Hj) = composite_state_sub_projection IM (elements equivocators) (state_update IM s i si') (dexist j Hj)by destruct (decide (i = j)); subst; state_update_simpl. Qed.message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
equivocators: Ci
s: composite_state IM
i: index
e: sub_index_prop (elements equivocators) i
si': state (IM i)
j: index
Hj: sub_index_prop (elements equivocators) jstate_update (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) s) (dexist i e) si' (dexist j Hj) = state_update IM s i si' (`(dexist j Hj))
See the lemma fixed_output_has_strong_fixed_equivocation below.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)strong_fixed_equivocation IM equivocators base_s ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)strong_fixed_equivocation IM equivocators base_s ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
e: projT1 l ∈ elements equivocatorsstrong_fixed_equivocation IM equivocators base_s ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocatorsstrong_fixed_equivocation IM equivocators base_s ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
e: projT1 l ∈ elements equivocatorsstrong_fixed_equivocation IM equivocators base_s omby right; eexists _, _, _.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
e: projT1 l ∈ elements equivocators
Ht: input_valid_transition (equivocators_composition_for_sent IM equivocators base_s) (composite_label_sub_projection IM (elements equivocators) l e) (composite_state_sub_projection IM (elements equivocators) s, iom) (composite_state_sub_projection IM (elements equivocators) sf, Some om)strong_fixed_equivocation IM equivocators base_s ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocatorsstrong_fixed_equivocation IM equivocators base_s ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocatorssent_by_non_equivocating IM equivocators base_s ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators(projT1 l ∉ elements equivocators) ∧ has_been_sent (IM (projT1 l)) (base_s (projT1 l)) ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
Hfuture: in_futures PreFree sf base_s
l: label Fixed
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocatorshas_been_sent (IM (projT1 l)) (base_s (projT1 l)) ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocatorshas_been_sent (IM (projT1 l)) (base_s (projT1 l)) ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocatorshas_been_sent (IM (projT1 l)) (sf (projT1 l)) ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocatorshas_been_sent (IM (projT1 l)) (sf (projT1 l)) ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators
Hproject: composite_project_label IM (projT1 l) l = Some (projT2 l) → ∀ (s : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (im : option message) (s' : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (om : option message), input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) l (s, im) (s', om) → input_valid_transition (preloaded_with_all_messages_vlsm (IM (projT1 l))) (projT2 l) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s, im) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s', om)has_been_sent (IM (projT1 l)) (sf (projT1 l)) ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators
Hproject: composite_project_label IM (projT1 l) l = Some (projT2 l) → ∀ (s : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (im : option message) (s' : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (om : option message), input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) l (s, im) (s', om) → input_valid_transition (preloaded_with_all_messages_vlsm (IM (projT1 l))) (projT2 l) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s, im) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s', om)composite_project_label IM (projT1 l) l = Some (projT2 l)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators
Hproject: ∀ (s : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (im : option message) (s' : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (om : option message), input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) l ( s, im) (s', om) → input_valid_transition (preloaded_with_all_messages_vlsm (IM (projT1 l))) (projT2 l) (s (projT1 l), im) (s' (projT1 l), om)has_been_sent (IM (projT1 l)) (sf (projT1 l)) ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators
Hproject: composite_project_label IM (projT1 l) l = Some (projT2 l) → ∀ (s : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (im : option message) (s' : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (om : option message), input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) l (s, im) (s', om) → input_valid_transition (preloaded_with_all_messages_vlsm (IM (projT1 l))) (projT2 l) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s, im) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s', om)composite_project_label IM (projT1 l) l = Some (projT2 l)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators
Hproject: composite_project_label IM (projT1 l) l = Some (projT2 l) → ∀ (s : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (im : option message) (s' : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (om : option message), input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) l (s, im) (s', om) → input_valid_transition (preloaded_with_all_messages_vlsm (IM (projT1 l))) (projT2 l) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s, im) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s', om)match decide (projT1 l = projT1 l) with | left e => Some (eq_rect_r (λ n : index, label (IM n)) (projT2 l) e) | right _ => None end = Some (projT2 l)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators
Hproject: composite_project_label IM (projT1 l) l = Some (projT2 l) → ∀ (s : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (im : option message) (s' : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (om : option message), input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) l (s, im) (s', om) → input_valid_transition (preloaded_with_all_messages_vlsm (IM (projT1 l))) (projT2 l) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s, im) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s', om)
e: projT1 l = projT1 lSome (eq_rect_r (λ n : index, label (IM n)) (projT2 l) e) = Some (projT2 l)by apply Eqdep_dec.UIP_dec.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators
Hproject: composite_project_label IM (projT1 l) l = Some (projT2 l) → ∀ (s : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (im : option message) (s' : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (om : option message), input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) l (s, im) (s', om) → input_valid_transition (preloaded_with_all_messages_vlsm (IM (projT1 l))) (projT2 l) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s, im) ((λ s0 : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)), s0 (projT1 l)) s', om)
e: projT1 l = projT1 leq_refl = emessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators
Hproject: ∀ (s : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (im : option message) (s' : state (preloaded_with_all_messages_vlsm (free_composite_vlsm IM))) (om : option message), input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) l ( s, im) (s', om) → input_valid_transition (preloaded_with_all_messages_vlsm (IM (projT1 l))) (projT2 l) (s (projT1 l), im) (s' (projT1 l), om)has_been_sent (IM (projT1 l)) (sf (projT1 l)) omby apply (has_been_sent_step_update Hproject); left. Qed. End sec_fixed_finite_valid_trace_sub_projection_helper_lemmas.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
base_s, s: composite_state IM
Hobs_s_protocol: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hs_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
sf: state PreFree
l: label Fixed
Hfuture: in_futures (preloaded_with_all_messages_vlsm (IM (projT1 l))) (sf (projT1 l)) (base_s (projT1 l))
iom: option message
om: message
Ht: input_valid_transition {| vlsm_type := constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators); vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)
n: projT1 l ∉ elements equivocators
Hproject: input_valid_transition (preloaded_with_all_messages_vlsm (IM (projT1 l))) (projT2 l) (s (projT1 l), iom) (sf (projT1 l), Some om)has_been_sent (IM (projT1 l)) (sf (projT1 l)) om
Using the lemmas above we can now prove (by induction) a generic result,
which has as part of the conclusion the "observability implies strong_fixed_equivocation"
hypothesis assumed in the above section.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
base_s: state PreFree
Hfuture: in_futures PreFree s base_sfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
base_s: state PreFree
Hfuture: in_futures PreFree s base_sfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: initial_state_prop si
base_s: state PreFree
Hfuture: in_futures PreFree si base_sfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) si) (finite_trace_sub_projection IM (elements equivocators) []) ∧ (∀ m : message, composite_has_been_directly_observed IM si m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
IHHtr: in_futures PreFree s base_s → finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) (tr ++ [{| l := l; input := iom; destination := sf; output := oom |}])) ∧ (∀ m : message, composite_has_been_directly_observed IM sf m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: initial_state_prop si
base_s: state PreFree
Hfuture: in_futures PreFree si base_sfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) si) (finite_trace_sub_projection IM (elements equivocators) []) ∧ (∀ m : message, composite_has_been_directly_observed IM si m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: initial_state_prop si
base_s: state PreFree
Hfuture: in_futures PreFree si base_sfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) si) (finite_trace_sub_projection IM (elements equivocators) [])message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: initial_state_prop si
base_s: state PreFree
Hfuture: in_futures PreFree si base_s∀ m : message, composite_has_been_directly_observed IM si m → strong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: initial_state_prop si
base_s: state PreFree
Hfuture: in_futures PreFree si base_sfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) si) (finite_trace_sub_projection IM (elements equivocators) [])message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: initial_state_prop si
base_s: state PreFree
Hfuture: in_futures PreFree si base_svalid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si)by apply initial_state_is_valid.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: composite_initial_state_prop (sub_IM IM (elements equivocators)) (composite_state_sub_projection IM (elements equivocators) si)
base_s: state PreFree
Hfuture: in_futures PreFree si base_svalid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: initial_state_prop si
base_s: state PreFree
Hfuture: in_futures PreFree si base_s∀ m : message, composite_has_been_directly_observed IM si m → strong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: initial_state_prop si
base_s: state PreFree
Hfuture: in_futures PreFree si base_s
m: message
Hobs: composite_has_been_directly_observed IM si mFalseby apply composite_has_been_directly_observed_free_iff.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si: state Fixed
Hsi: initial_state_prop si
base_s: state PreFree
Hfuture: in_futures PreFree si base_s
m: message
Hobs: composite_has_been_directly_observed IM si mhas_been_directly_observed Free si ?mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
IHHtr: in_futures PreFree s base_s → finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) (tr ++ [{| l := l; input := iom; destination := sf; output := oom |}])) ∧ (∀ m : message, composite_has_been_directly_observed IM sf m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
IHHtr: in_futures PreFree s base_s → finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) (tr ++ [{| l := l; input := iom; destination := sf; output := oom |}])) ∧ (∀ m : message, composite_has_been_directly_observed IM sf m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
IHHtr: in_futures PreFree s base_s → finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)in_futures PreFree s base_smessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
IHHtr: in_futures PreFree s base_s → finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_sfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) (tr ++ [{| l := l; input := iom; destination := sf; output := oom |}])) ∧ (∀ m : message, composite_has_been_directly_observed IM sf m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
IHHtr: in_futures PreFree s base_s → finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)in_futures PreFree s base_smessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
tr': list transition_item
Htr': finite_valid_trace_from_to PreFree sf base_s tr'
IHHtr: in_futures PreFree s base_s → finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)in_futures PreFree s base_sby eexists.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
tr': list transition_item
Htr': finite_valid_trace_from_to PreFree sf base_s tr'
IHHtr: in_futures PreFree s base_s → finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Htr'': finite_valid_trace_from_to PreFree s base_s ({| l := l; input := iom; destination := sf; output := oom |} :: tr')in_futures PreFree s base_smessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
IHHtr: in_futures PreFree s base_s → finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m)
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_sfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) (tr ++ [{| l := l; input := iom; destination := sf; output := oom |}])) ∧ (∀ m : message, composite_has_been_directly_observed IM sf m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s mfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) (tr ++ [{| l := l; input := iom; destination := sf; output := oom |}])) ∧ (∀ m : message, composite_has_been_directly_observed IM sf m → strong_fixed_equivocation IM equivocators base_s m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m∀ m : message, composite_has_been_directly_observed IM sf m → strong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s mfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) (tr ++ [{| l := l; input := iom; destination := sf; output := oom |}]))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m∀ m : message, composite_has_been_directly_observed IM sf m → strong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
Hobs: composite_has_been_directly_observed IM sf mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
Hobs: composite_has_been_directly_observed IM sf m
Hpre_t: has_been_directly_observed Free sf m ↔ (iom = Some m ∨ oom = Some m) ∨ has_been_directly_observed Free s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
Hobs: (iom = Some m ∨ oom = Some m) ∨ has_been_directly_observed Free s m
Hpre_t: has_been_directly_observed Free sf m ↔ (iom = Some m ∨ oom = Some m) ∨ has_been_directly_observed Free s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
Hitem: iom = Some m ∨ oom = Some m
Hpre_t: has_been_directly_observed Free sf m ↔ (iom = Some m ∨ oom = Some m) ∨ has_been_directly_observed Free s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: valid_state_prop Fixed s
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
Hitem: iom = Some m ∨ oom = Some m
Hpre_t: has_been_directly_observed Free sf m ↔ (iom = Some m ∨ oom = Some m) ∨ has_been_directly_observed Free s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: valid_state_prop Fixed s
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hfuture_s: in_futures PreFree s base_s
Htr_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
m: message
Hitem: iom = Some m ∨ oom = Some m
Hpre_t: has_been_directly_observed Free sf m ↔ (iom = Some m ∨ oom = Some m) ∨ has_been_directly_observed Free s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: valid_state_prop Fixed s
sf: state Fixed
oom: option message
l: label Fixed
m: message
Ht: input_valid_transition Fixed l ( s, Some m) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hfuture_s: in_futures PreFree s base_s
Htr_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hpre_t: has_been_directly_observed Free sf m ↔ (Some m = Some m ∨ oom = Some m) ∨ has_been_directly_observed Free s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: valid_state_prop Fixed s
sf: state Fixed
iom: option message
l: label Fixed
m: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some m)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hfuture_s: in_futures PreFree s base_s
Htr_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hpre_t: has_been_directly_observed Free sf m ↔ (iom = Some m ∨ Some m = Some m) ∨ has_been_directly_observed Free s mstrong_fixed_equivocation IM equivocators base_s mby eapply fixed_input_has_strong_fixed_equivocation_helper; destruct Ht.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: valid_state_prop Fixed s
sf: state Fixed
oom: option message
l: label Fixed
m: message
Ht: input_valid_transition Fixed l ( s, Some m) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hfuture_s: in_futures PreFree s base_s
Htr_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hpre_t: has_been_directly_observed Free sf m ↔ (Some m = Some m ∨ oom = Some m) ∨ has_been_directly_observed Free s mstrong_fixed_equivocation IM equivocators base_s mby eapply fixed_output_has_strong_fixed_equivocation_helper; cycle 3.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: valid_state_prop Fixed s
sf: state Fixed
iom: option message
l: label Fixed
m: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some m)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hfuture_s: in_futures PreFree s base_s
Htr_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hpre_t: has_been_directly_observed Free sf m ↔ (iom = Some m ∨ Some m = Some m) ∨ has_been_directly_observed Free s mstrong_fixed_equivocation IM equivocators base_s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s mfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) (tr ++ [{| l := l; input := iom; destination := sf; output := oom |}]))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s mfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) tr ++ match match match decide (projT1 l ∈ elements equivocators) with | left i_in => Some (composite_label_sub_projection IM (elements equivocators) l i_in) | right _ => None end with | Some lY => Some {| l := lY; input := iom; destination := composite_state_sub_projection IM (elements equivocators) sf; output := oom |} | None => None end with | Some y => [y] | None => [] end)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hl: projT1 l ∈ elements equivocatorsfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) tr ++ [{| l := composite_label_sub_projection IM (elements equivocators) l Hl; input := iom; destination := composite_state_sub_projection IM (elements equivocators) sf; output := oom |}])message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hl: projT1 l ∉ elements equivocatorsfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) tr ++ [])message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hl: projT1 l ∈ elements equivocatorsfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) tr ++ [{| l := composite_label_sub_projection IM (elements equivocators) l Hl; input := iom; destination := composite_state_sub_projection IM (elements equivocators) sf; output := oom |}])message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hl: projT1 l ∈ elements equivocatorsfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s) (composite_state_sub_projection IM (elements equivocators) sf) [{| l := composite_label_sub_projection IM (elements equivocators) l Hl; input := iom; destination := composite_state_sub_projection IM (elements equivocators) sf; output := oom |}]message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hl: projT1 l ∈ elements equivocatorsinput_valid_transition (equivocators_composition_for_sent IM equivocators base_s) (composite_label_sub_projection IM (elements equivocators) l Hl) (composite_state_sub_projection IM (elements equivocators) s, iom) (composite_state_sub_projection IM (elements equivocators) sf, oom)by apply fixed_input_valid_transition_sub_projection_helper.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: valid_state_prop (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) s)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hl: projT1 l ∈ elements equivocatorsinput_valid_transition (equivocators_composition_for_sent IM equivocators base_s) (composite_label_sub_projection IM (elements equivocators) l Hl) (composite_state_sub_projection IM (elements equivocators) s, iom) (composite_state_sub_projection IM (elements equivocators) sf, oom)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hl: projT1 l ∉ elements equivocatorsfinite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) sf) (finite_trace_sub_projection IM (elements equivocators) tr ++ [])message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
si, s: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed si s tr
sf: state Fixed
iom, oom: option message
l: label Fixed
Ht: input_valid_transition Fixed l (s, iom) (sf, oom)
base_s: state PreFree
Hfuture: in_futures PreFree sf base_s
Hpre_t: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, oom)
Hfuture_s: in_futures PreFree s base_s
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators base_s) (composite_state_sub_projection IM (elements equivocators) si) (composite_state_sub_projection IM (elements equivocators) s) (finite_trace_sub_projection IM (elements equivocators) tr)
Htr_obs: ∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators base_s m
Hl: projT1 l ∉ elements equivocatorscomposite_state_sub_projection IM (elements equivocators) s = composite_state_sub_projection IM (elements equivocators) sfmessage, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: state Fixed
i: index
li: label (IM i)
si': state (IM i)
Hl: projT1 (existT i li) ∉ elements equivocatorscomposite_state_sub_projection IM (elements equivocators) s = composite_state_sub_projection IM (elements equivocators) (state_update IM s i si')by destruct (decide (i = j)); subst; state_update_simpl. Qed.message, index, Ci: Type
H5: Elements index Ci
EqDecision1: EqDecision index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: state Fixed
i: index
li: label (IM i)
si': state (IM i)
Hl: projT1 (existT i li) ∉ elements equivocators
j: index
Hj: sub_index_prop (elements equivocators) js (`(dexist j Hj)) = state_update IM s i si' (`(dexist j Hj))
Main result of this section: when restricting a Fixed valid trace to only
the transitions belonging to the equivocators, the obtained trace is valid
for the composition of equivocators preloaded with messages sent by the
non-equivocators in the original trace.
This is a simple corollary of Lemma fixed_finite_valid_trace_sub_projection_helper
proved above.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f trfinite_valid_trace_init_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) tr)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f trfinite_valid_trace_init_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) tr)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f tr
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM f m → strong_fixed_equivocation IM equivocators f m)finite_valid_trace_init_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) tr)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f trin_futures PreFree f fmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f tr
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM f m → strong_fixed_equivocation IM equivocators f m)finite_valid_trace_init_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) tr)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f tr
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM f m → strong_fixed_equivocation IM equivocators f m)initial_state_prop (composite_state_sub_projection IM (elements equivocators) is)by specialize (composite_initial_state_sub_projection IM (elements equivocators) is Htr).message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: initial_state_prop is
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM f m → strong_fixed_equivocation IM equivocators f m)initial_state_prop (composite_state_sub_projection IM (elements equivocators) is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f trin_futures PreFree f fmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f trvalid_state_prop PreFree fmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: valid_state_prop Fixed fvalid_state_prop PreFree fby apply constrained_preloaded_incl. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
is, f: state Fixed
tr: list transition_item
Htr: valid_state_prop Fixed fVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators)) (preloaded_vlsm_machine Free (λ _ : message, True))
Any message directly observed in a fixed valid state has either been sent by the
non-equivocating components, or it can be generated by the equivocating components
using only the messages sent by the non-equivocating components.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
f: state Fixed
Hf: valid_state_prop Fixed f
m: message
Hobs: composite_has_been_directly_observed IM f mstrong_fixed_equivocation IM equivocators f mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
f: state Fixed
Hf: valid_state_prop Fixed f
m: message
Hobs: composite_has_been_directly_observed IM f mstrong_fixed_equivocation IM equivocators f mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
f: state Fixed
Hf: valid_state_prop Fixed f
m: message
Hobs: composite_has_been_directly_observed IM f m
Hfuture: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} fstrong_fixed_equivocation IM equivocators f mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
f: state Fixed
Hf: valid_state_prop Fixed f
m: message
Hobs: composite_has_been_directly_observed IM f m
Hfuture: in_futures {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} f fstrong_fixed_equivocation IM equivocators f mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
f, is: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f tr
m: message
Hobs: composite_has_been_directly_observed IM f m
Hfuture: in_futures {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} f fstrong_fixed_equivocation IM equivocators f mby apply Htr_pr. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
f, is: state Fixed
tr: list transition_item
Htr: finite_valid_trace_init_to Fixed is f tr
m: message
Hobs: composite_has_been_directly_observed IM f m
Hfuture: in_futures {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} f f
Htr_pr: finite_valid_trace_from_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) tr) ∧ (∀ m : message, composite_has_been_directly_observed IM f m → strong_fixed_equivocation IM equivocators f m)strong_fixed_equivocation IM equivocators f mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, f: state Fixed
Hsf: in_futures Fixed s fvalid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, f: state Fixed
Hsf: in_futures Fixed s fvalid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, f: state Fixed
tr: list transition_item
Htr: finite_valid_trace_from_to Fixed s f trvalid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, f: state Fixed
tr: list transition_item
is: state Fixed
trs: list transition_item
Htr: finite_valid_trace_init_to Fixed is f (trs ++ tr)
Hs: finite_trace_last is trs = svalid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, f: state Fixed
tr: list transition_item
is: state Fixed
trs: list transition_item
Htr: finite_valid_trace_init_to Fixed is f (trs ++ tr)
Hs: finite_trace_last is trs = s
Hpr_tr: finite_valid_trace_init_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) (trs ++ tr))valid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, f: state Fixed
tr: list transition_item
is: state Fixed
trs: list transition_item
Htr: finite_valid_trace_from Fixed is trs
Hs: finite_trace_last is trs = s
Hpr_tr: finite_valid_trace_init_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) (trs ++ tr))valid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, f: state Fixed
tr: list transition_item
is: state Fixed
trs: list transition_item
Htr: finite_valid_trace_from Fixed is trs
Hs: finite_trace_last is trs = s
Hpr_tr: finite_valid_trace_init_to (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) is) (composite_state_sub_projection IM (elements equivocators) f) (finite_trace_sub_projection IM (elements equivocators) trs ++ finite_trace_sub_projection IM (elements equivocators) tr)valid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
s, f: state Fixed
tr: list transition_item
is: state Fixed
trs: list transition_item
Htr: finite_valid_trace_from Fixed is trs
Hs: finite_trace_last is trs = s
Hpr_tr: valid_state_prop (equivocators_composition_for_sent IM equivocators f) (finite_trace_last (composite_state_sub_projection IM (elements equivocators) is) (finite_trace_sub_projection IM (elements equivocators) trs))valid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
f: state Fixed
tr: list transition_item
is: state Fixed
trs: list transition_item
Htr: finite_valid_trace_from Fixed is trs
Hpr_tr: valid_state_prop (equivocators_composition_for_sent IM equivocators f) (finite_trace_last (composite_state_sub_projection IM (elements equivocators) is) (finite_trace_sub_projection IM (elements equivocators) trs))valid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) (finite_trace_last is trs))by rewrite <- (finite_trace_sub_projection_last_state IM _ _ _ _ Htr). Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
f: state Fixed
tr: list transition_item
is: state Fixed
trs: list transition_item
Htr: finite_valid_trace_from Fixed is trs
Hpr_tr: valid_state_prop (equivocators_composition_for_sent IM equivocators f) (finite_trace_last (composite_state_sub_projection IM (elements equivocators) is) (finite_trace_sub_projection IM (elements equivocators) trs))valid_state_prop (equivocators_composition_for_sent IM equivocators f) (composite_state_sub_projection IM (elements equivocators) (finite_trace_last is trs))
The input of a Fixed input valid transition has the strong_fixed_equivocation
property.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
m: message
Ht: input_valid Fixed l (s, Some m)strong_fixed_equivocation IM equivocators s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
m: message
Ht: input_valid Fixed l (s, Some m)strong_fixed_equivocation IM equivocators s mby apply fixed_directly_observed_has_strong_fixed_equivocation, Ht. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
m: message
Ht: input_valid Fixed l (s, Some m)∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators s m
The output of a Fixed input valid transition has the strong_fixed_equivocation
property for its destination.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)strong_fixed_equivocation IM equivocators sf ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)strong_fixed_equivocation IM equivocators sf ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed sstrong_fixed_equivocation IM equivocators sf ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed s∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators sf mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed svalid_state_prop (equivocators_composition_for_sent IM equivocators sf) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed sin_futures PreFree sf sfmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed sinput_valid_transition Fixed l (s, iom) (sf, Some om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed s∀ m : message, composite_has_been_directly_observed IM s m → strong_fixed_equivocation IM equivocators sf mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed s
m: message
Hobs: composite_has_been_directly_observed IM s mstrong_fixed_equivocation IM equivocators sf mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed s
m: message
Hobs: composite_has_been_directly_observed IM s min_futures PreFree s sfmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed s
m: message
Hobs: composite_has_been_directly_observed IM s mstrong_fixed_equivocation IM equivocators s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed s
m: message
Hobs: composite_has_been_directly_observed IM s min_futures PreFree s sfby eapply (input_valid_transition_in_futures PreFree).message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Hs: valid_state_prop Fixed s
m: message
Hobs: composite_has_been_directly_observed IM s m
Ht: input_valid_transition {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} l (s, iom) (sf, Some om)in_futures PreFree s sfby apply fixed_directly_observed_has_strong_fixed_equivocation.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed s
m: message
Hobs: composite_has_been_directly_observed IM s mstrong_fixed_equivocation IM equivocators s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed svalid_state_prop (equivocators_composition_for_sent IM equivocators sf) (composite_state_sub_projection IM (elements equivocators) s)by apply fixed_valid_state_sub_projection.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: in_futures Fixed s sf
Hs: valid_state_prop Fixed svalid_state_prop (equivocators_composition_for_sent IM equivocators sf) (composite_state_sub_projection IM (elements equivocators) s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed sin_futures PreFree sf sfmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed svalid_state_prop PreFree sfmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: valid_state_prop Fixed sf
Hs: valid_state_prop Fixed svalid_state_prop PreFree sfby apply constrained_preloaded_incl.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: valid_state_prop Fixed sf
Hs: valid_state_prop Fixed sVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators)) (preloaded_vlsm_machine Free (λ _ : message, True))done. Qed. End sec_fixed_equivocator_sub_projection.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
PreFree:= preloaded_with_all_messages_vlsm Free: VLSM message
l: label Fixed
s: state Fixed
iom: option message
sf: state Fixed
om: message
Ht: input_valid_transition Fixed l ( s, iom) (sf, Some om)
Hs: valid_state_prop Fixed sinput_valid_transition Fixed l (s, iom) (sf, Some om)
strong_fixed_equivocation_constraint is not actually stronger.
In this section we show that a composition using the
fixed_equivocation_constraint and the strong_fixed_equivocation
are trace-equivalent.
The importance of this result is that we can reduce the complexity of proofs
involving fixed equivocation by using the strong_fixed_equivocation constraint
in the hypotheses of a lemma and the "weaker" fixed_equivocation_constraint
in the conclusion.
Section sec_Fixed_eq_StrongFixed. Context {message : Type} `{FinSet index Ci} `{finite.Finite index} (IM : index -> VLSM message) `{forall i, HasBeenSentCapability (IM i)} `{forall i, HasBeenReceivedCapability (IM i)} (equivocators : Ci) (Fixed := fixed_equivocation_vlsm_composition IM equivocators) (StrongFixed := strong_fixed_equivocation_vlsm_composition IM equivocators) (Free := free_composite_vlsm IM) .
Given a Fixed valid state, the composition of the equivocators
preloaded with all the directly observed messages in the state is not stronger
than that preloaded with only the messages sent by non-equivocators.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sVLSM_incl (equivocators_composition_for_directly_observed IM equivocators base_s) (equivocators_composition_for_sent IM equivocators base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sVLSM_incl (equivocators_composition_for_directly_observed IM equivocators base_s) (equivocators_composition_for_sent IM equivocators base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sstrong_incl_initial_state_preservation (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sweak_incl_initial_message_preservation (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sweak_incl_valid_preservation (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sweak_incl_transition_preservation (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s))by intros s Hincl.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sstrong_incl_initial_state_preservation (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sweak_incl_initial_message_preservation (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_s
l: label {| vlsm_type := free_equivocating_vlsm_composition IM equivocators; vlsm_machine := preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s) |}
s: state {| vlsm_type := free_equivocating_vlsm_composition IM equivocators; vlsm_machine := preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s) |}
m: message
Hv: input_valid {| vlsm_type := free_equivocating_vlsm_composition IM equivocators; vlsm_machine := preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s) |} l (s, Some m)
HsY: valid_state_prop {| vlsm_type := free_equivocating_vlsm_composition IM equivocators; vlsm_machine := preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s) |} (id s)
Hobs: composite_has_been_directly_observed IM base_s mvalid_message_prop {| vlsm_type := free_equivocating_vlsm_composition IM equivocators; vlsm_machine := preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s) |} mby apply fixed_directly_observed_has_strong_fixed_equivocation.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_s
l: label {| vlsm_type := free_equivocating_vlsm_composition IM equivocators; vlsm_machine := preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s) |}
s: state {| vlsm_type := free_equivocating_vlsm_composition IM equivocators; vlsm_machine := preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s) |}
m: message
Hv: input_valid {| vlsm_type := free_equivocating_vlsm_composition IM equivocators; vlsm_machine := preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s) |} l (s, Some m)
HsY: valid_state_prop {| vlsm_type := free_equivocating_vlsm_composition IM equivocators; vlsm_machine := preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s) |} (id s)
Hobs: composite_has_been_directly_observed IM base_s mstrong_fixed_equivocation IM equivocators base_s mby intros l s om (_ & _ & Hv) _ _.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sweak_incl_valid_preservation (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s))by destruct 1. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sweak_incl_transition_preservation (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (composite_has_been_directly_observed IM base_s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators base_s))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sVLSM_eq (equivocators_composition_for_directly_observed IM equivocators base_s) (equivocators_composition_for_sent IM equivocators base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sVLSM_eq (equivocators_composition_for_directly_observed IM equivocators base_s) (equivocators_composition_for_sent IM equivocators base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sVLSM_incl {| vlsm_type := equivocators_composition_for_directly_observed IM equivocators base_s; vlsm_machine := equivocators_composition_for_directly_observed IM equivocators base_s |} {| vlsm_type := equivocators_composition_for_directly_observed IM equivocators base_s; vlsm_machine := equivocators_composition_for_sent IM equivocators base_s |}message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sVLSM_incl {| vlsm_type := equivocators_composition_for_directly_observed IM equivocators base_s; vlsm_machine := equivocators_composition_for_sent IM equivocators base_s |} {| vlsm_type := equivocators_composition_for_directly_observed IM equivocators base_s; vlsm_machine := equivocators_composition_for_directly_observed IM equivocators base_s |}by apply Equivocators_Fixed_Strong_incl.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sVLSM_incl {| vlsm_type := equivocators_composition_for_directly_observed IM equivocators base_s; vlsm_machine := equivocators_composition_for_directly_observed IM equivocators base_s |} {| vlsm_type := equivocators_composition_for_directly_observed IM equivocators base_s; vlsm_machine := equivocators_composition_for_sent IM equivocators base_s |}by apply Equivocators_Strong_Fixed_incl. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
base_s: state Fixed
Hbase_s: valid_state_prop Fixed base_sVLSM_incl {| vlsm_type := equivocators_composition_for_directly_observed IM equivocators base_s; vlsm_machine := equivocators_composition_for_sent IM equivocators base_s |} {| vlsm_type := equivocators_composition_for_directly_observed IM equivocators base_s; vlsm_machine := equivocators_composition_for_directly_observed IM equivocators base_s |}
The subsumption between fixed_equivocation_constraint and
strong_fixed_equivocation_constraint holds under input_valid assumptions.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageinput_valid_constraint_subsumption (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators) (strong_fixed_equivocation_constraint IM equivocators)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageinput_valid_constraint_subsumption (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators) (strong_fixed_equivocation_constraint IM equivocators)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
om: option message
Hv: input_valid (constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators)) l ( s, om)strong_fixed_equivocation_constraint IM equivocators l (s, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: message
Hv: input_valid (constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators)) l ( s, Some m)strong_fixed_equivocation_constraint IM equivocators l (s, Some m)by eapply fixed_input_has_strong_fixed_equivocation. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM message
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: message
Hv: input_valid (constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators)) l ( s, Some m)
Hs: valid_state_prop (constrained_vlsm (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators)) sstrong_fixed_equivocation_constraint IM equivocators l (s, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageVLSM_incl Fixed StrongFixedmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageVLSM_incl Fixed StrongFixedapply fixed_strong_equivocation_subsumption. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageinput_valid_constraint_subsumption (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators) (strong_fixed_equivocation_constraint IM equivocators)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageVLSM_eq Fixed StrongFixedmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageVLSM_eq Fixed StrongFixedmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageVLSM_incl {| vlsm_type := Fixed; vlsm_machine := Fixed |} {| vlsm_type := Fixed; vlsm_machine := StrongFixed |}message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageVLSM_incl {| vlsm_type := Fixed; vlsm_machine := StrongFixed |} {| vlsm_type := Fixed; vlsm_machine := Fixed |}by apply Fixed_incl_StrongFixed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageVLSM_incl {| vlsm_type := Fixed; vlsm_machine := Fixed |} {| vlsm_type := Fixed; vlsm_machine := StrongFixed |}by apply StrongFixed_incl_Fixed. Qed. End sec_Fixed_eq_StrongFixed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Free:= free_composite_vlsm IM: VLSM messageVLSM_incl {| vlsm_type := Fixed; vlsm_machine := StrongFixed |} {| vlsm_type := Fixed; vlsm_machine := Fixed |}
Changing the behavior of equivocators within a trace
s
,
any valid trace over the composition of equivocators preloaded with the
messages directly observed in s
can be "lifted" to a Fixed valid trace in which
the non-equivocators remain in their corresponding component-state given by s
(lemma EquivPreloadedBase_Fixed_weak_embedding).
Section sec_fixed_equivocator_lifting. Context {message : Type} `{FinSet index Ci} `{finite.Finite index} (IM : index -> VLSM message) `{forall i, HasBeenSentCapability (IM i)} `{forall i, HasBeenReceivedCapability (IM i)} (equivocators : Ci) (Free := free_composite_vlsm IM) (Fixed := fixed_equivocation_vlsm_composition IM equivocators) (StrongFixed := strong_fixed_equivocation_vlsm_composition IM equivocators) .
Replacing the state corresponding to the equivocators does not affect the
sent_by_non_equivocating property.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagesent_by_non_equivocating IM equivocators s m ↔ sent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) mby split; intros [i [Hi Hsent]]; exists i; split; [done | | done |] ; revert Hsent; rewrite lift_sub_state_to_neq. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagesent_by_non_equivocating IM equivocators s m ↔ sent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) m
The property above induces trace-equality for the corresponding
equivocators_composition_for_sent compositions.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))VLSM_incl (equivocators_composition_for_sent IM equivocators s) (equivocators_composition_for_sent IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))VLSM_incl (equivocators_composition_for_sent IM equivocators s) (equivocators_composition_for_sent IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is))by apply lift_sub_state_to_sent_by_non_equivocating_iff. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))∀ m : message, sent_by_non_equivocating IM equivocators s m → sent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: composite_state IM
eqv_is: composite_state (sub_IM IM (elements equivocators))VLSM_incl (equivocators_composition_for_sent IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) (equivocators_composition_for_sent IM equivocators s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: composite_state IM
eqv_is: composite_state (sub_IM IM (elements equivocators))VLSM_incl (equivocators_composition_for_sent IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) (equivocators_composition_for_sent IM equivocators s)by apply lift_sub_state_to_sent_by_non_equivocating_iff. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: composite_state IM
eqv_is: composite_state (sub_IM IM (elements equivocators))∀ m : message, sent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) m → sent_by_non_equivocating IM equivocators s m
Replacing the state corresponding to the equivocators does not affect the
strong_fixed_equivocation property.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagestrong_fixed_equivocation IM equivocators s m ↔ strong_fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagestrong_fixed_equivocation IM equivocators s m ↔ strong_fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagesent_by_non_equivocating IM equivocators s m → sent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagecan_emit (equivocators_composition_for_sent IM equivocators s) m → can_emit (equivocators_composition_for_sent IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagesent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) m → sent_by_non_equivocating IM equivocators s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagecan_emit (equivocators_composition_for_sent IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) m → can_emit (equivocators_composition_for_sent IM equivocators s) mby apply lift_sub_state_to_sent_by_non_equivocating_iff.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagesent_by_non_equivocating IM equivocators s m → sent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagecan_emit (equivocators_composition_for_sent IM equivocators s) m → can_emit (equivocators_composition_for_sent IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) mby apply restrict_observed_to_non_equivocating_incl.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messageVLSM_incl_part (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators s)) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)))by apply lift_sub_state_to_sent_by_non_equivocating_iff.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagesent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is) m → sent_by_non_equivocating IM equivocators s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messagecan_emit (equivocators_composition_for_sent IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) m → can_emit (equivocators_composition_for_sent IM equivocators s) mby apply restrict_observed_to_non_equivocating_incl_rev. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
s: ∀ x : index, state (IM x)
eqv_is: composite_state (sub_IM IM (elements equivocators))
m: messageVLSM_incl_part (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is))) (preloaded_vlsm_machine (free_equivocating_vlsm_composition IM equivocators) (sent_by_non_equivocating IM equivocators s))
The operation of replacing the state corresponding to the equivocators
with a given initial state and removing all transitions belonging to
non-equivocators in a trace induces a self-VLSM_projection on the
fixed equivocation composition VLSM.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isVLSM_projection StrongFixed StrongFixed (remove_equivocating_label_project IM (elements equivocators)) (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isVLSM_projection StrongFixed StrongFixed (remove_equivocating_label_project IM (elements equivocators)) (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_valid_preservation StrongFixed StrongFixed (remove_equivocating_label_project IM (elements equivocators)) (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_transition_preservation_Some StrongFixed StrongFixed (remove_equivocating_label_project IM (elements equivocators)) (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_transition_consistency_None StrongFixed StrongFixed (remove_equivocating_label_project IM (elements equivocators)) (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_initial_state_preservation StrongFixed StrongFixed (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_valid_message_preservation StrongFixed StrongFixedmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_valid_preservation StrongFixed StrongFixed (remove_equivocating_label_project IM (elements equivocators)) (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixedremove_equivocating_label_project IM (elements equivocators) (existT i liX) = Some lY → ∀ (s : state StrongFixed) (om : option message), valid (existT i liX) (s, om) → valid lY (remove_equivocating_state_project IM (elements equivocators) eqv_is s, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed(if decide (i ∈ elements equivocators) then None else Some (existT i liX)) = Some lY → ∀ (s : composite_state IM) (om : option message), valid liX (s i, om) ∧ from_option (strong_fixed_equivocation IM equivocators s) True om → (let (i, li) := lY in valid li (lift_sub_state_to IM (elements equivocators) s eqv_is i, om)) ∧ from_option (strong_fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) True ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators∀ (s : composite_state IM) (om : option message), valid liX (s i, om) ∧ from_option (strong_fixed_equivocation IM equivocators s) True om → valid liX (lift_sub_state_to IM (elements equivocators) s eqv_is i, om) ∧ from_option (strong_fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) True ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators
s: composite_state IM
om: option message
Hv: valid liX (s i, om)
Hc: from_option (strong_fixed_equivocation IM equivocators s) True omvalid liX (lift_sub_state_to IM (elements equivocators) s eqv_is i, om) ∧ from_option (strong_fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) True ommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators
s: composite_state IM
om: option message
Hv: valid liX (s i, om)
Hc: from_option (strong_fixed_equivocation IM equivocators s) True omvalid liX (lift_sub_state_to IM (elements equivocators) s eqv_is i, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators
s: composite_state IM
om: option message
Hv: valid liX (s i, om)
Hc: from_option (strong_fixed_equivocation IM equivocators s) True omfrom_option (strong_fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) True omby cbn; rewrite lift_sub_state_to_neq.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators
s: composite_state IM
om: option message
Hv: valid liX (s i, om)
Hc: from_option (strong_fixed_equivocation IM equivocators s) True omvalid liX (lift_sub_state_to IM (elements equivocators) s eqv_is i, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators
s: composite_state IM
om: option message
Hv: valid liX (s i, om)
Hc: from_option (strong_fixed_equivocation IM equivocators s) True omfrom_option (strong_fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) True omby apply lift_sub_state_to_strong_fixed_equivocation.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators
s: composite_state IM
m: message
Hv: valid liX (s i, Some m)
Hc: from_option (strong_fixed_equivocation IM equivocators s) True (Some m)from_option (strong_fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) s eqv_is)) True (Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_transition_preservation_Some StrongFixed StrongFixed (remove_equivocating_label_project IM (elements equivocators)) (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixedremove_equivocating_label_project IM (elements equivocators) (existT i liX) = Some lY → ∀ (s : state StrongFixed) (om : option message) (s' : state StrongFixed) (om' : option message), transition (existT i liX) (s, om) = (s', om') → transition lY (remove_equivocating_state_project IM (elements equivocators) eqv_is s, om) = (remove_equivocating_state_project IM (elements equivocators) eqv_is s', om')message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed(if decide (i ∈ elements equivocators) then None else Some (existT i liX)) = Some lY → ∀ (s : composite_state IM) (om : option message) (s' : composite_state IM) (om' : option message), (let (si', om'0) := transition liX (s i, om) in (state_update IM s i si', om'0)) = (s', om') → (let (i, li) := lY in let (si', om'0) := transition li (lift_sub_state_to IM (elements equivocators) s eqv_is i, om) in (state_update IM (lift_sub_state_to IM (elements equivocators) s eqv_is) i si', om'0)) = (lift_sub_state_to IM (elements equivocators) s' eqv_is, om')message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators∀ (s : composite_state IM) (om : option message) (s' : composite_state IM) (om' : option message), (let (si', om'0) := transition liX (s i, om) in (state_update IM s i si', om'0)) = (s', om') → (let (si', om'0) := transition liX (lift_sub_state_to IM (elements equivocators) s eqv_is i, om) in (state_update IM (lift_sub_state_to IM (elements equivocators) s eqv_is) i si', om'0)) = (lift_sub_state_to IM (elements equivocators) s' eqv_is, om')message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators
s: composite_state IM
om: option message
s': composite_state IM
om': option message
si': state (IM i)
_om': option message(state_update IM (lift_sub_state_to IM (elements equivocators) s eqv_is) i si', om') = (lift_sub_state_to IM (elements equivocators) (state_update IM s i si') eqv_is, om')by destruct (decide (i = j)); subst; state_update_simpl.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
lY: label StrongFixed
Hi: i ∉ elements equivocators
s: composite_state IM
om: option message
s': composite_state IM
om': option message
si': state (IM i)
_om': option message
j: indexstate_update IM (lift_sub_state_to IM (elements equivocators) s eqv_is) i si' j = lift_sub_state_to IM (elements equivocators) (state_update IM s i si') eqv_is jmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_transition_consistency_None StrongFixed StrongFixed (remove_equivocating_label_project IM (elements equivocators)) (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)remove_equivocating_label_project IM (elements equivocators) (existT i liX) = None → ∀ (s : state StrongFixed) (om : option message) (s' : state StrongFixed) (om' : option message), transition (existT i liX) (s, om) = (s', om') → remove_equivocating_state_project IM (elements equivocators) eqv_is s' = remove_equivocating_state_project IM (elements equivocators) eqv_is smessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)(if decide (i ∈ elements equivocators) then None else Some (existT i liX)) = None → ∀ (s : composite_state IM) (om : option message) (s' : composite_state IM) (om' : option message), (let (si', om'0) := transition liX (s i, om) in (state_update IM s i si', om'0)) = (s', om') → lift_sub_state_to IM (elements equivocators) s' eqv_is = lift_sub_state_to IM (elements equivocators) s eqv_ismessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
Hi: i ∈ elements equivocatorsNone = None → ∀ (s : composite_state IM) (om : option message) (s' : composite_state IM) (om' : option message), (let (si', om'0) := transition liX (s i, om) in (state_update IM s i si', om'0)) = (s', om') → lift_sub_state_to IM (elements equivocators) s' eqv_is = lift_sub_state_to IM (elements equivocators) s eqv_ismessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
Hi: i ∈ elements equivocators
s: composite_state IM
om: option message
s': composite_state IM
om': option message
si': state (IM i)
_om': option message
Hti: transition liX (s i, om) = (si', _om')lift_sub_state_to IM (elements equivocators) (state_update IM s i si') eqv_is = lift_sub_state_to IM (elements equivocators) s eqv_ismessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
Hi: i ∈ elements equivocators
s: composite_state IM
om: option message
s': composite_state IM
om': option message
si': state (IM i)
_om': option message
Hti: transition liX (s i, om) = (si', _om')
j: indexlift_sub_state_to IM (elements equivocators) (state_update IM s i si') eqv_is j = lift_sub_state_to IM (elements equivocators) s eqv_is jmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
Hi: i ∈ elements equivocators
s: composite_state IM
om: option message
s': composite_state IM
om': option message
si': state (IM i)
_om': option message
Hti: transition liX (s i, om) = (si', _om')
j: indexmatch decide (sub_index_prop (elements equivocators) j) with | left e => eqv_is (dexist j e) | right _ => state_update IM s i si' j end = match decide (sub_index_prop (elements equivocators) j) with | left e => eqv_is (dexist j e) | right _ => s j endby destruct (decide (i = j)); subst; state_update_simpl.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
i: index
liX: label (IM i)
Hi: i ∈ elements equivocators
s: composite_state IM
om: option message
s': composite_state IM
om': option message
si': state (IM i)
_om': option message
Hti: transition liX (s i, om) = (si', _om')
j: index
H10: ¬ sub_index_prop (elements equivocators) jstate_update IM s i si' j = s jmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_initial_state_preservation StrongFixed StrongFixed (remove_equivocating_state_project IM (elements equivocators) eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
s: state StrongFixed
Hs: initial_state_prop s
i: indexinitial_state_prop (remove_equivocating_state_project IM (elements equivocators) eqv_is s i)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
s: state StrongFixed
Hs: initial_state_prop s
i: indexinitial_state_prop match decide (sub_index_prop (elements equivocators) i) with | left e => eqv_is (dexist i e) | right _ => s i endmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
s: state StrongFixed
Hs: initial_state_prop s
i: index
Hi: sub_index_prop (elements equivocators) iinitial_state_prop (eqv_is (dexist i Hi))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
s: state StrongFixed
Hs: initial_state_prop s
i: index
Hi: ¬ sub_index_prop (elements equivocators) iinitial_state_prop (s i)by apply (Heqv_is (dexist i Hi)).message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
s: state StrongFixed
Hs: initial_state_prop s
i: index
Hi: sub_index_prop (elements equivocators) iinitial_state_prop (eqv_is (dexist i Hi))by apply Hs.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_is
s: state StrongFixed
Hs: initial_state_prop s
i: index
Hi: ¬ sub_index_prop (elements equivocators) iinitial_state_prop (s i)by intros m HFixed. Qed. Context (base_s : composite_state IM) (Hbase_s : valid_state_prop Fixed base_s) (EquivPreloadedBase := equivocators_composition_for_sent IM equivocators base_s) .message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
eqv_is: composite_state (sub_IM IM (elements equivocators))
Heqv_is: composite_initial_state_prop (sub_IM IM (elements equivocators)) eqv_isstrong_projection_valid_message_preservation StrongFixed StrongFixed
As a corollary of the above projection result, the state obtained by replacing
the equivocator component of a Fixed valid state with initial states is
still a Fixed valid state.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM messageweak_projection_initial_state_preservation EquivPreloadedBase Fixed (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM messageweak_projection_initial_state_preservation EquivPreloadedBase Fixed (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
eqv_is: state EquivPreloadedBase
Heqv_is: initial_state_prop eqv_isvalid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s eqv_is)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
eqv_is: state EquivPreloadedBase
Heqv_is: initial_state_prop eqv_isvalid_state_prop {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM equivocators |} (lift_sub_state_to IM (elements equivocators) base_s eqv_is)by apply (VLSM_incl_valid_state (Fixed_incl_StrongFixed IM equivocators)). Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
eqv_is: state EquivPreloadedBase
Heqv_is: initial_state_prop eqv_isvalid_state_prop StrongFixed base_smessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
s: composite_state (sub_IM IM (elements equivocators))∀ m : message, sent_by_non_equivocating IM equivocators base_s m → composite_has_been_directly_observed IM (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
s: composite_state (sub_IM IM (elements equivocators))∀ m : message, sent_by_non_equivocating IM equivocators base_s m → composite_has_been_directly_observed IM (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
s: composite_state (sub_IM IM (elements equivocators))
m: message
Hsent: sent_by_non_equivocating IM equivocators base_s mcomposite_has_been_directly_observed IM (lift_sub_state_to IM (elements equivocators) base_s s) mby eapply sent_by_non_equivocating_are_directly_observed. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
s: composite_state (sub_IM IM (elements equivocators))
m: message
Hsent: sent_by_non_equivocating IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mcomposite_has_been_directly_observed IM (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
s: composite_state (sub_IM IM (elements equivocators))∀ m : message, strong_fixed_equivocation IM equivocators base_s m → fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
s: composite_state (sub_IM IM (elements equivocators))∀ m : message, strong_fixed_equivocation IM equivocators base_s m → fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
s: composite_state (sub_IM IM (elements equivocators))
m: message
H10: strong_fixed_equivocation IM equivocators base_s mfixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mby apply lift_sub_state_to_strong_fixed_equivocation. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
s: composite_state (sub_IM IM (elements equivocators))
m: message
H10: strong_fixed_equivocation IM equivocators base_s mstrong_fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) m
Main result of the section
s
for the Fixed
composition (composition
where only the equivocators
are allowed to message-equivocate),
we can "lift" any trace of the free composition of just the equivocators
preloaded with the messages observed in s
to a trace over the Fixed
composition by simply setting the non-equivocating state components to those
of s
.
s
and the Fixed
composition of all the components. Note that this is a strengthening of Lemma
PreSubFree_PreFree_weak_embedding.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mVLSM_weak_embedding EquivPreloadedBase Fixed (lift_sub_label IM (elements equivocators)) (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mVLSM_weak_embedding EquivPreloadedBase Fixed (lift_sub_label IM (elements equivocators)) (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mweak_embedding_valid_preservation EquivPreloadedBase Fixed (lift_sub_label IM (elements equivocators)) (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mweak_embedding_transition_preservation EquivPreloadedBase Fixed (lift_sub_label IM (elements equivocators)) (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mweak_projection_initial_state_preservation EquivPreloadedBase Fixed (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mweak_embedding_initial_message_preservation EquivPreloadedBase Fixed (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mweak_embedding_valid_preservation EquivPreloadedBase Fixed (lift_sub_label IM (elements equivocators)) (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
om: option message
Hv: input_valid EquivPreloadedBase l (s, om)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed omvalid (lift_sub_label IM (elements equivocators) l) (lift_sub_state_to IM (elements equivocators) base_s s, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
om: option message
Hv: input_valid EquivPreloadedBase l (s, om)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed omvalid (lift_sub_label IM (elements equivocators) l) (lift_sub_state_to IM (elements equivocators) base_s s, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
om: option message
Hv: input_valid EquivPreloadedBase l (s, om)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed omfixed_equivocation_constraint IM equivocators (lift_sub_label IM (elements equivocators) l) (lift_sub_state_to IM (elements equivocators) base_s s, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
om: option message
Hv: input_valid EquivPreloadedBase l (s, om)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed omvalid (lift_sub_label IM (elements equivocators) l) (lift_sub_state_to IM (elements equivocators) base_s s, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
i: sub_index (elements equivocators)
li: label (sub_IM IM (elements equivocators) i)
s: state EquivPreloadedBase
om: option message
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed omvalid (existT i li) (s, om) → valid (lift_sub_label IM (elements equivocators) (existT i li)) (lift_sub_state_to IM (elements equivocators) base_s s, om)by rewrite lift_sub_state_to_eq with (Hi := Hj).message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed omvalid li (s (dexist j Hj), om) → valid li (lift_sub_state_to IM (elements equivocators) base_s s j, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
om: option message
Hv: input_valid EquivPreloadedBase l (s, om)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed omfixed_equivocation_constraint IM equivocators (lift_sub_label IM (elements equivocators) l) (lift_sub_state_to IM (elements equivocators) base_s s, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hv: input_valid EquivPreloadedBase l (s, Some m)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hm: option_valid_message_prop EquivPreloadedBase (Some m)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hm: initial_message_prop m ∨ can_emit EquivPreloadedBase m
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hinit: initial_message_prop m
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hobs: sent_by_non_equivocating IM equivocators base_s m
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hemit: can_emit EquivPreloadedBase m
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hinit: initial_message_prop m
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
i: sub_index (elements equivocators)
im: message
Him: initial_message_prop im
Heqm: `(im ↾ Him) = m
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
im: message
j: index
Hj: sub_index_prop (elements equivocators) j
Him: initial_message_prop im
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some (`(im ↾ Him)))fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) immessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
im: message
j: index
Hj: sub_index_prop (elements equivocators) j
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)¬ initial_message_prop imby apply elem_of_elements, Hj.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
im: message
j: index
Hj: sub_index_prop (elements equivocators) j
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)j ∈ equivocatorsby apply strong_fixed_equivocation_lift_sub_state_to; left.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hobs: sent_by_non_equivocating IM equivocators base_s m
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mby apply strong_fixed_equivocation_lift_sub_state_to; right.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hemit: can_emit EquivPreloadedBase m
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
HomY: option_valid_message_prop Fixed (Some m)fixed_equivocation IM equivocators (lift_sub_state_to IM (elements equivocators) base_s s) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mweak_embedding_transition_preservation EquivPreloadedBase Fixed (lift_sub_label IM (elements equivocators)) (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
sub_i: sub_index (elements equivocators)
li: label (sub_IM IM (elements equivocators) sub_i)
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option messageinput_valid_transition EquivPreloadedBase (existT sub_i li) (s, om) (s', om') → transition (lift_sub_label IM (elements equivocators) (existT sub_i li)) (lift_sub_state_to IM (elements equivocators) base_s s, om) = (lift_sub_state_to IM (elements equivocators) base_s s', om')message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option message(state_update IM (lift_sub_state_to IM (elements equivocators) base_s s) j si', om') = (lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si'), om')message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option message
i: indexstate_update IM (lift_sub_state_to IM (elements equivocators) base_s s) j si' i = lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si') imessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option messagesi' = lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si') jmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option message
i: index
n: i ≠ jlift_sub_state_to IM (elements equivocators) base_s s i = lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si') iby rewrite lift_sub_state_to_eq with (Hi := Hj), !state_update_eq.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option messagesi' = lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si') jmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option message
i: index
n: i ≠ jlift_sub_state_to IM (elements equivocators) base_s s i = lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si') imessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option message
i: index
n: i ≠ j
e: i ∈ elements equivocatorslift_sub_state_to IM (elements equivocators) base_s s i = lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si') imessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option message
i: index
n: i ≠ j
n0: i ∉ elements equivocatorslift_sub_state_to IM (elements equivocators) base_s s i = lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si') imessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option message
i: index
n: i ≠ j
e: i ∈ elements equivocatorslift_sub_state_to IM (elements equivocators) base_s s i = lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si') iby intros Hcontra%dsig_eq.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option message
i: index
n: i ≠ j
e: i ∈ elements equivocatorsdexist i e ≠ dexist j Hjby state_update_simpl.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
j: index
Hj: sub_index_prop (elements equivocators) j
li: label (sub_IM IM (elements equivocators) (dexist j Hj))
s: state EquivPreloadedBase
om: option message
s': state EquivPreloadedBase
om': option message
si': state (IM j)
_om': option message
i: index
n: i ≠ j
n0: i ∉ elements equivocatorslift_sub_state_to IM (elements equivocators) base_s s i = lift_sub_state_to IM (elements equivocators) base_s (state_update (λ ei : sub_index (elements equivocators), IM (`ei)) s (dexist j Hj) si') iby intros s Hweak_proj; apply fixed_equivocator_lifting_initial_state.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mweak_projection_initial_state_preservation EquivPreloadedBase Fixed (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop mweak_embedding_initial_message_preservation EquivPreloadedBase Fixed (lift_sub_state_to IM (elements equivocators) base_s)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hv: input_valid EquivPreloadedBase l (s, Some m)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
i: index
Hi: bool_decide (sub_index_prop (elements equivocators) i)
im: message
Him: initial_message_prop im
Heqm: `(im ↾ Him) = mvalid_message_prop Fixed mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hv: input_valid EquivPreloadedBase l (s, Some m)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
Hm: sent_by_non_equivocating IM equivocators base_s mvalid_message_prop Fixed mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hv: input_valid EquivPreloadedBase l (s, Some m)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
i: index
Hi: bool_decide (sub_index_prop (elements equivocators) i)
im: message
Him: initial_message_prop im
Heqm: `(im ↾ Him) = mvalid_message_prop Fixed mby exists i, (exist _ im Him).message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hv: input_valid EquivPreloadedBase l (s, Some m)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
i: index
Hi: bool_decide (sub_index_prop (elements equivocators) i)
im: message
Him: initial_message_prop im
Heqm: `(im ↾ Him) = minitial_message_prop mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hv: input_valid EquivPreloadedBase l (s, Some m)
HsY: valid_state_prop Fixed (lift_sub_state_to IM (elements equivocators) base_s s)
Hm: sent_by_non_equivocating IM equivocators base_s mvalid_message_prop Fixed mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hv: input_valid EquivPreloadedBase l (s, Some m)
Hm: sent_by_non_equivocating IM equivocators base_s mvalid_message_prop Fixed mby eapply sent_by_non_equivocating_are_directly_observed. Qed. End sec_fixed_equivocator_lifting.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
base_s: composite_state IM
Hbase_s: valid_state_prop Fixed base_s
EquivPreloadedBase:= equivocators_composition_for_sent IM equivocators base_s: VLSM message
no_initial_messages_for_equivocators: ∀ (i : index) (m : message), i ∈ equivocators → ¬ initial_message_prop m
l: label EquivPreloadedBase
s: state EquivPreloadedBase
m: message
Hv: input_valid EquivPreloadedBase l (s, Some m)
Hm: sent_by_non_equivocating IM equivocators base_s mcomposite_has_been_directly_observed IM base_s m
Fixed equivocation over an empty set
Section sec_fixed_equivocation_no_equivocators. Context {message : Type} `{FinSet index Ci} `{finite.Finite index} (IM : index -> VLSM message) `{forall i : index, HasBeenSentCapability (IM i)} `{forall i : index, HasBeenReceivedCapability (IM i)} .message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)∀ (s : ∀ x : index, state (IM x)) (m : message), strong_fixed_equivocation IM ∅ s m ↔ composite_has_been_sent IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)∀ (s : ∀ x : index, state (IM x)) (m : message), strong_fixed_equivocation IM ∅ s m ↔ composite_has_been_sent IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: messagestrong_fixed_equivocation IM ∅ s m ↔ composite_has_been_sent IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: messagestrong_fixed_equivocation IM ∅ s m → composite_has_been_sent IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: messagecomposite_has_been_sent IM s m → strong_fixed_equivocation IM ∅ s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: messagestrong_fixed_equivocation IM ∅ s m → composite_has_been_sent IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: message
Hsent: sent_by_non_equivocating IM ∅ s mcomposite_has_been_sent IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: message
Hemit: can_emit (equivocators_composition_for_sent IM ∅ s) mcomposite_has_been_sent IM s mby apply sent_by_non_equivocating_are_sent in Hsent.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: message
Hsent: sent_by_non_equivocating IM ∅ s mcomposite_has_been_sent IM s mby apply sub_no_indices_no_can_emit in Hemit; [| apply elements_empty].message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: message
Hemit: can_emit (equivocators_composition_for_sent IM ∅ s) mcomposite_has_been_sent IM s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: messagecomposite_has_been_sent IM s m → strong_fixed_equivocation IM ∅ s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: message
Hsent: composite_has_been_sent IM s mstrong_fixed_equivocation IM ∅ s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: message
Hsent: composite_has_been_sent IM s msent_by_non_equivocating IM ∅ s mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: message
i: index
Hsent: has_been_sent (IM i) (s i) msent_by_non_equivocating IM ∅ s mby rewrite elem_of_elements; apply not_elem_of_empty. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
s: ∀ x : index, state (IM x)
m: message
i: index
Hsent: has_been_sent (IM i) (s i) mi ∉ elements ∅message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)∀ (l : composite_label IM) (som : composite_state IM * option message), strong_fixed_equivocation_constraint IM ∅ l som ↔ composite_no_equivocations IM l sommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)∀ (l : composite_label IM) (som : composite_state IM * option message), strong_fixed_equivocation_constraint IM ∅ l som ↔ composite_no_equivocations IM l sommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
l: composite_label IM
som: (composite_state IM * option message)%typestrong_fixed_equivocation_constraint IM ∅ l som ↔ composite_no_equivocations IM l sommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
l: composite_label IM
s: composite_state IM
m: messagestrong_fixed_equivocation_constraint IM ∅ l (s, Some m) ↔ composite_no_equivocations IM l (s, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
l: composite_label IM
s: composite_state IM
m: messagestrong_fixed_equivocation IM ∅ s m ↔ composite_no_equivocations IM l (s, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
l: composite_label IM
s: composite_state IM
m: messagestrong_fixed_equivocation IM ∅ s m ↔ composite_has_been_sent IM s m → strong_fixed_equivocation IM ∅ s m ↔ composite_no_equivocations IM l (s, Some m)by cbn; itauto. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
l: composite_label IM
s: composite_state IM
m: messagestrong_fixed_equivocation IM ∅ s m ↔ composite_has_been_sent IM s m → strong_fixed_equivocation IM ∅ s m ↔ from_option (λ im : message, composite_has_been_sent IM (s, Some m).1 im ∨ False) True (s, Some m).2message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_eq (strong_fixed_equivocation_vlsm_composition IM ∅) (composite_vlsm IM (composite_no_equivocations IM))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_eq (strong_fixed_equivocation_vlsm_composition IM ∅) (composite_vlsm IM (composite_no_equivocations IM))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_incl {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM ∅; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM ∅ |} {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM ∅; vlsm_machine := composite_vlsm IM (composite_no_equivocations IM) |}message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_incl {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM ∅; vlsm_machine := composite_vlsm IM (composite_no_equivocations IM) |} {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM ∅; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM ∅ |}message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_incl {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM ∅; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM ∅ |} {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM ∅; vlsm_machine := composite_vlsm IM (composite_no_equivocations IM) |}message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)input_valid_constraint_subsumption (free_composite_vlsm IM) (strong_fixed_equivocation_constraint IM ∅) (composite_no_equivocations IM)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)preloaded_constraint_subsumption (free_composite_vlsm IM) (strong_fixed_equivocation_constraint IM ∅) (composite_no_equivocations IM)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)strong_constraint_subsumption (free_composite_vlsm IM) (strong_fixed_equivocation_constraint IM ∅) (composite_no_equivocations IM)by rewrite strong_fixed_equivocation_constraint_no_equivocators.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
l: label (free_composite_vlsm IM)
som: (state (free_composite_vlsm IM) * option message)%typestrong_fixed_equivocation_constraint IM ∅ l som → composite_no_equivocations IM l sommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_incl {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM ∅; vlsm_machine := composite_vlsm IM (composite_no_equivocations IM) |} {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM ∅; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM ∅ |}message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)input_valid_constraint_subsumption (free_composite_vlsm IM) (composite_no_equivocations IM) (strong_fixed_equivocation_constraint IM ∅)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)preloaded_constraint_subsumption (free_composite_vlsm IM) (composite_no_equivocations IM) (strong_fixed_equivocation_constraint IM ∅)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)strong_constraint_subsumption (free_composite_vlsm IM) (composite_no_equivocations IM) (strong_fixed_equivocation_constraint IM ∅)by rewrite strong_fixed_equivocation_constraint_no_equivocators. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
l: label (free_composite_vlsm IM)
som: (state (free_composite_vlsm IM) * option message)%typecomposite_no_equivocations IM l som → strong_fixed_equivocation_constraint IM ∅ l sommessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_eq (fixed_equivocation_vlsm_composition IM ∅) (composite_vlsm IM (composite_no_equivocations IM))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_eq (fixed_equivocation_vlsm_composition IM ∅) (composite_vlsm IM (composite_no_equivocations IM))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_eq {| vlsm_type := free_composite_vlsm IM; vlsm_machine := constrained_vlsm_machine (free_composite_vlsm IM) (fixed_equivocation_constraint IM ∅) |} {| vlsm_type := free_composite_vlsm IM; vlsm_machine := ?MY |}message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_eq {| vlsm_type := free_composite_vlsm IM; vlsm_machine := ?MY |} {| vlsm_type := free_composite_vlsm IM; vlsm_machine := constrained_vlsm_machine (free_composite_vlsm IM) (composite_no_equivocations IM) |}by apply Fixed_eq_StrongFixed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_eq {| vlsm_type := free_composite_vlsm IM; vlsm_machine := constrained_vlsm_machine (free_composite_vlsm IM) (fixed_equivocation_constraint IM ∅) |} {| vlsm_type := free_composite_vlsm IM; vlsm_machine := ?MY |}by apply strong_fixed_equivocation_vlsm_composition_no_equivocators. Qed. End sec_fixed_equivocation_no_equivocators. Section sec_fixed_non_equivocator_lifting. Context {message : Type} `{FinSet index Ci} `{finite.Finite index} (IM : index -> VLSM message) `{forall i, HasBeenSentCapability (IM i)} `{forall i, HasBeenReceivedCapability (IM i)} (equivocators : Ci) (non_equivocators := list_to_set (enum index) ∖ equivocators) (Free := free_composite_vlsm IM) (Fixed := fixed_equivocation_vlsm_composition IM equivocators) (FixedNonEquivocating := pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators)) (StrongFixed := strong_fixed_equivocation_vlsm_composition IM equivocators) (StrongFixedNonEquivocating := pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators)) .message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)VLSM_eq {| vlsm_type := free_composite_vlsm IM; vlsm_machine := constrained_vlsm_machine (free_composite_vlsm IM) (strong_fixed_equivocation_constraint IM ∅) |} {| vlsm_type := free_composite_vlsm IM; vlsm_machine := constrained_vlsm_machine (free_composite_vlsm IM) (composite_no_equivocations IM) |}
All valid traces in the induced projection of the composition under the
strong fixed-equivocation constraint to the non-equivocating components can be lifted
to valid traces of the constrained composition.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM messageVLSM_embedding StrongFixedNonEquivocating StrongFixed (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM messageVLSM_embedding StrongFixedNonEquivocating StrongFixed (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message∀ s1 s2 : composite_state IM, composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2 → ∀ (l : composite_label IM) (om : option message), strong_fixed_equivocation_constraint IM equivocators l (s1, om) → strong_fixed_equivocation_constraint IM equivocators l (s2, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
om: option messagestrong_fixed_equivocation_constraint IM equivocators l (s1, om) → strong_fixed_equivocation_constraint IM equivocators l (s2, om)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: messagestrong_fixed_equivocation_constraint IM equivocators l (s1, Some m) → strong_fixed_equivocation_constraint IM equivocators l (s2, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message(∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 m) → strong_fixed_equivocation_constraint IM equivocators l (s1, Some m) → strong_fixed_equivocation_constraint IM equivocators l (s2, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message(∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 m) → strong_fixed_equivocation_constraint IM equivocators l (s1, Some m) → strong_fixed_equivocation_constraint IM equivocators l (s2, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
Hsent_impl: ∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 m
j: index
Hj: j ∉ elements equivocators
Hsent: has_been_sent (IM j) (s1 j) mstrong_fixed_equivocation_constraint IM equivocators l (s2, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
Hsent_impl: ∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 m
Hemit: can_emit (equivocators_composition_for_sent IM equivocators s1) mstrong_fixed_equivocation_constraint IM equivocators l (s2, Some m)by left; apply Hsent_impl; exists j.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
Hsent_impl: ∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 m
j: index
Hj: j ∉ elements equivocators
Hsent: has_been_sent (IM j) (s1 j) mstrong_fixed_equivocation_constraint IM equivocators l (s2, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
Hsent_impl: ∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 m
Hemit: can_emit (equivocators_composition_for_sent IM equivocators s1) mstrong_fixed_equivocation_constraint IM equivocators l (s2, Some m)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
Hsent_impl: ∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 m
Hemit: can_emit (equivocators_composition_for_sent IM equivocators s1) mcan_emit (equivocators_composition_for_sent IM equivocators s2) mby apply VLSM_incl_can_emit, preloaded_vlsm_incl.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
Hsent_impl: ∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 mcan_emit (equivocators_composition_for_sent IM equivocators s1) m → can_emit (equivocators_composition_for_sent IM equivocators s2) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM∀ m : message, sent_by_non_equivocating IM equivocators s1 m → sent_by_non_equivocating IM equivocators s2 mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) msent_by_non_equivocating IM equivocators s2 mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) m(i ∉ elements equivocators) ∧ has_been_sent (IM i) (s2 i) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) mhas_been_sent (IM i) (s2 i) mmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) ms1 i = s2 imessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) mi ∈ elements non_equivocatorsmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) m
Hi': i ∈ elements non_equivocatorss1 i = s2 imessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) mi ∈ elements non_equivocatorsmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) mi ∈ list_to_set (enum index) ∧ i ∉ equivocatorsmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) mi ∈ enum index ∧ i ∉ equivocatorsmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) mi ∈ enum indexmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) mi ∉ equivocatorsby apply elem_of_enum.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) mi ∈ enum indexby rewrite <- elem_of_elements.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) mi ∉ equivocatorsby eapply f_equal_dep with (x := dexist i Hi') in Heq. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
s1, s2: composite_state IM
Heq: composite_state_sub_projection IM (elements non_equivocators) s1 = composite_state_sub_projection IM (elements non_equivocators) s2
l: composite_label IM
m: message
i: index
Hi: i ∉ elements equivocators
Hsent: has_been_sent (IM i) (s1 i) m
Hi': i ∈ elements non_equivocatorss1 i = s2 i
All valid traces in the induced projection of the composition under the
fixed-equivocation constraint to the non-equivocating components can be lifted
to valid traces of the constrained composition.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM messageVLSM_embedding FixedNonEquivocating Fixed (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM messageVLSM_embedding FixedNonEquivocating Fixed (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message∀ (sX : state FixedNonEquivocating) (trX : list transition_item), finite_valid_trace FixedNonEquivocating sX trX → finite_valid_trace Fixed (lift_sub_state IM (elements non_equivocators) sX) (pre_VLSM_embedding_finite_trace_project FixedNonEquivocating Fixed (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators)) trX)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
sX: state FixedNonEquivocating
trX: list transition_item
Htr: finite_valid_trace FixedNonEquivocating sX trXfinite_valid_trace Fixed (lift_sub_state IM (elements non_equivocators) sX) (pre_VLSM_embedding_finite_trace_project FixedNonEquivocating Fixed (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators)) trX)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
sX: state FixedNonEquivocating
trX: list transition_item
Htr: finite_valid_trace FixedNonEquivocating sX trXfinite_valid_trace {| vlsm_type := strong_fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM equivocators |} (lift_sub_state IM (elements non_equivocators) sX) (pre_VLSM_embedding_finite_trace_project FixedNonEquivocating Fixed (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators)) trX)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
sX: state FixedNonEquivocating
trX: list transition_item
Htr: finite_valid_trace FixedNonEquivocating sX trXfinite_valid_trace StrongFixedNonEquivocating sX trXmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
sX: state FixedNonEquivocating
trX: list transition_itemfinite_valid_trace FixedNonEquivocating sX trX → finite_valid_trace StrongFixedNonEquivocating sX trXmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
sX: state FixedNonEquivocating
trX: list transition_itemVLSM_incl_part (preloaded_vlsm_machine (projection_induced_validator (composite_vlsm IM (fixed_equivocation_constraint IM equivocators)) (composite_type (sub_IM IM (elements non_equivocators))) (composite_label_sub_projection_option IM (elements non_equivocators)) (composite_state_sub_projection IM (elements non_equivocators)) (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators))) (λ _ : message, True)) (preloaded_vlsm_machine (projection_induced_validator (composite_vlsm IM (strong_fixed_equivocation_constraint IM equivocators)) (composite_type (sub_IM IM (elements non_equivocators))) (composite_label_sub_projection_option IM (elements non_equivocators)) (composite_state_sub_projection IM (elements non_equivocators)) (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators))) (λ _ : message, True))by apply fixed_strong_equivocation_subsumption. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
sX: state FixedNonEquivocating
trX: list transition_iteminput_valid_constraint_subsumption (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators) (strong_fixed_equivocation_constraint IM equivocators)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM messageprojection_friendly_prop (induced_sub_projection_is_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators))message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM messageprojection_friendly_prop (induced_sub_projection_is_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators))by apply lift_fixed_non_equivocating. Qed.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM messageVLSM_embedding (pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators)) (composite_vlsm IM (fixed_equivocation_constraint IM equivocators)) (lift_sub_label IM (elements non_equivocators)) (lift_sub_state IM (elements non_equivocators))
The valid traces of the induced projection of the composition under the
fixed-equivocation constraint to the non-equivocating components are precisely
projections of traces of the constrained composition.
message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
is: state FixedNonEquivocating
tr: list transition_itemfinite_valid_trace FixedNonEquivocating is tr ↔ (∃ (eis : state Fixed) (etr : list transition_item), finite_valid_trace Fixed eis etr ∧ composite_state_sub_projection IM (elements non_equivocators) eis = is ∧ finite_trace_sub_projection IM (elements non_equivocators) etr = tr)message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
is: state FixedNonEquivocating
tr: list transition_itemfinite_valid_trace FixedNonEquivocating is tr ↔ (∃ (eis : state Fixed) (etr : list transition_item), finite_valid_trace Fixed eis etr ∧ composite_state_sub_projection IM (elements non_equivocators) eis = is ∧ finite_trace_sub_projection IM (elements non_equivocators) etr = tr)by apply fixed_non_equivocating_projection_friendliness. Qed. End sec_fixed_non_equivocator_lifting.message, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
EqDecision1: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocators: Ci
non_equivocators:= list_to_set (enum index) ∖ equivocators: Ci
Free:= free_composite_vlsm IM: VLSM message
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
FixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators): VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixedNonEquivocating:= pre_induced_sub_projection IM (elements non_equivocators) (strong_fixed_equivocation_constraint IM equivocators): VLSM message
is: state FixedNonEquivocating
tr: list transition_itemprojection_friendly_prop (induced_sub_projection_is_projection IM (elements non_equivocators) (fixed_equivocation_constraint IM equivocators))