From stdpp Require Import prelude finite. From Coq Require Import FinFun RIneq. From VLSM.Lib Require Import Preamble FinSetExtras. From VLSM.Lib Require Import RealsExtras Measurable. From VLSM.Core Require Import VLSM VLSMProjections MessageDependencies Composition Equivocation. From VLSM.Core Require Import Equivocation.FixedSetEquivocation. From VLSM.Core Require Import Equivocation.TraceWiseEquivocation. From VLSM.Core Require Import Equivocation.WitnessedEquivocation.
Core: VLSM Limited Message Equivocation
Section sec_limited_message_equivocation. Context {message : Type} `{EqDecision index} (IM : index -> VLSM message) (threshold : R) `{ReachableThreshold validator Cv threshold} (equivocating : composite_state IM -> validator -> Prop) (Hno_initial_equivocation : forall s, composite_initial_state_prop IM s -> forall v, ~ equivocating s v) . Inductive LimitedEquivocationProp (s : composite_state IM) : Prop := | limited_equivocation : forall (vs : Cv) (Heqv_vs : forall v, equivocating s v -> v ∈ vs) (Hlimited : (sum_weights vs <= threshold)%R), LimitedEquivocationProp s. Definition limited_equivocation_constraint (l : composite_label IM) (som : composite_state IM * option message) : Prop := LimitedEquivocationProp (composite_transition IM l som).1. Definition limited_equivocation_composite_vlsm : VLSM message := composite_vlsm IM limited_equivocation_constraint.message, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
s: state limited_equivocation_composite_vlsmvalid_state_prop limited_equivocation_composite_vlsm s → LimitedEquivocationProp smessage, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
s: state limited_equivocation_composite_vlsmvalid_state_prop limited_equivocation_composite_vlsm s → LimitedEquivocationProp smessage, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
is: state limited_equivocation_composite_vlsm
His: initial_state_prop isLimitedEquivocationProp ismessage, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
s: state limited_equivocation_composite_vlsm
l: label limited_equivocation_composite_vlsm
s': state limited_equivocation_composite_vlsm
om', om: option message
Hv: limited_equivocation_constraint l (s', om')
Ht: transition l (s', om') = (s, om)LimitedEquivocationProp smessage, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
is: state limited_equivocation_composite_vlsm
His: initial_state_prop isLimitedEquivocationProp ismessage, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
is: state limited_equivocation_composite_vlsm
His: initial_state_prop is∀ v : validator, equivocating is v → v ∈ ∅message, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
is: state limited_equivocation_composite_vlsm
His: initial_state_prop is(sum_weights ∅ <= threshold)%Rby intros v Hv; contradict Hv; apply Hno_initial_equivocation.message, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
is: state limited_equivocation_composite_vlsm
His: initial_state_prop is∀ v : validator, equivocating is v → v ∈ ∅message, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
is: state limited_equivocation_composite_vlsm
His: initial_state_prop is(sum_weights ∅ <= threshold)%Rby apply (rt_positive (H6 := H6)).message, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
is: state limited_equivocation_composite_vlsm
His: initial_state_prop is(0 <= threshold)%Rby cbv in Hv, Ht; rewrite Ht in Hv. Qed. End sec_limited_message_equivocation. Section sec_basic_limited_message_equivocation. Context {message : Type} `{EqDecision index} `{EqDecision validator} (IM : index -> VLSM message) `{BasicEquivocation (composite_state IM) validator} . Definition basic_limited_equivocation_constraint := limited_equivocation_constraint IM threshold is_equivocating (Cv := Cv). Definition basic_limited_equivocation_composite_vlsm : VLSM message := limited_equivocation_composite_vlsm IM threshold is_equivocating (Cv := Cv).message, index: Type
EqDecision0: EqDecision index
IM: index → VLSM message
threshold: R
validator, Cv: Type
Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision1: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
equivocating: composite_state IM → validator → Prop
Hno_initial_equivocation: ∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ equivocating s v
s: state limited_equivocation_composite_vlsm
l: label limited_equivocation_composite_vlsm
s': state limited_equivocation_composite_vlsm
om', om: option message
Hv: limited_equivocation_constraint l (s', om')
Ht: transition l (s', om') = (s, om)LimitedEquivocationProp smessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold∀ s : composite_state IM, LimitedEquivocationProp IM threshold is_equivocating s → not_heavy smessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold∀ s : composite_state IM, LimitedEquivocationProp IM threshold is_equivocating s → not_heavy smessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
s: composite_state IM
vs: Cv
Heqv_vs: ∀ v : validator, is_equivocating s v → v ∈ vs
Hlimited: (sum_weights vs <= threshold)%Rnot_heavy smessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
s: composite_state IM
vs: Cv
Heqv_vs: ∀ v : validator, is_equivocating s v → v ∈ vs
Hlimited: (sum_weights vs <= threshold)%R(equivocation_fault s <= sum_weights vs)%Rmessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
s: composite_state IM
vs: Cv
Heqv_vs: ∀ v : validator, is_equivocating s v → v ∈ vs
Hlimited: (sum_weights vs <= threshold)%R
v: validator
Hv: v ∈ equivocating_validators sv ∈ vsby apply Heqv_vs, Hvsl. Qed. Definition basic_equivocation_state_validators_comprehensive_prop : Prop := forall s v, is_equivocating s v -> v ∈ state_validators s.message, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
s: composite_state IM
vs: Cv
Heqv_vs: ∀ v : validator, is_equivocating s v → v ∈ vs
Hlimited: (sum_weights vs <= threshold)%R
v: validator
Hvsl: is_equivocating s v
Hvsr: v ∈ state_validators sv ∈ vsmessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
Hcomprehensive: basic_equivocation_state_validators_comprehensive_prop∀ s : composite_state IM, not_heavy s → LimitedEquivocationProp IM threshold is_equivocating smessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
Hcomprehensive: basic_equivocation_state_validators_comprehensive_prop∀ s : composite_state IM, not_heavy s → LimitedEquivocationProp IM threshold is_equivocating smessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
Hcomprehensive: basic_equivocation_state_validators_comprehensive_prop
s: composite_state IM
Hs: not_heavy sLimitedEquivocationProp IM threshold is_equivocating smessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
Hcomprehensive: basic_equivocation_state_validators_comprehensive_prop
s: composite_state IM
Hs: not_heavy s∀ v : validator, is_equivocating s v → v ∈ equivocating_validators smessage, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
Hcomprehensive: basic_equivocation_state_validators_comprehensive_prop
s: composite_state IM
Hs: not_heavy s
v: validator
Hv: is_equivocating s vis_equivocating s v ∧ v ∈ state_validators sby apply Hcomprehensive. Qed. End sec_basic_limited_message_equivocation. Section sec_tracewise_limited_message_equivocation. Context {message index : Type} (IM : index -> VLSM message) (threshold : R) `{EqDecision index} `{forall i, HasBeenSentCapability (IM i)} `{forall i, HasBeenReceivedCapability (IM i)} (Free := free_composite_vlsm IM) `{finite.Finite validator} `{ReachableThreshold validator Cv threshold} (A : validator -> index) (sender : message -> option validator) `{RelDecision _ _ (is_equivocating_tracewise_no_has_been_sent IM A sender)} (HBE : BasicEquivocation (composite_state IM) validator Cv threshold := equivocation_dec_tracewise IM threshold A sender) . Existing Instance HBE.message, index: Type
EqDecision0: EqDecision index
validator: Type
EqDecision1: EqDecision validator
IM: index → VLSM message
Cv: Type
threshold: R
measurable_V, Hm: Measurable validator
H: ElemOf validator Cv
H0: Empty Cv
H1: Singleton validator Cv
H2: Union Cv
H3: Intersection Cv
H4: Difference Cv
H5: Elements validator Cv
EqDecision2: EqDecision validator
H6: FinSet validator Cv
H7: ReachableThreshold validator Cv threshold
H8: BasicEquivocation (composite_state IM) validator Cv threshold
Hcomprehensive: basic_equivocation_state_validators_comprehensive_prop
s: composite_state IM
Hs: not_heavy s
v: validator
Hv: is_equivocating s vv ∈ state_validators smessage, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv thresholdbasic_equivocation_state_validators_comprehensive_prop IMby intros s v _; cbn; apply elem_of_list_to_set, elem_of_enum. Qed. Definition tracewise_limited_equivocation_constraint := basic_limited_equivocation_constraint IM. Definition tracewise_limited_equivocation_vlsm_composition : VLSM message := basic_limited_equivocation_composite_vlsm IM.message, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv thresholdbasic_equivocation_state_validators_comprehensive_prop IMmessage, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state tracewise_limited_equivocation_vlsm_compositionvalid_state_prop tracewise_limited_equivocation_vlsm_composition s → LimitedEquivocationProp IM threshold is_equivocating smessage, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state tracewise_limited_equivocation_vlsm_compositionvalid_state_prop tracewise_limited_equivocation_vlsm_composition s → LimitedEquivocationProp IM threshold is_equivocating sby intros; apply initial_state_not_is_equivocating_tracewise. Qed.message, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state tracewise_limited_equivocation_vlsm_composition∀ s : composite_state IM, composite_initial_state_prop IM s → ∀ v : validator, ¬ is_equivocating s vmessage, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold∀ s : composite_state IM, not_heavy s ↔ LimitedEquivocationProp IM threshold is_equivocating smessage, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold∀ s : composite_state IM, not_heavy s ↔ LimitedEquivocationProp IM threshold is_equivocating smessage, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: composite_state IMnot_heavy s → LimitedEquivocationProp IM threshold is_equivocating smessage, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: composite_state IMLimitedEquivocationProp IM threshold is_equivocating s → not_heavy sby apply not_heavy_impl_LimitedEquivocationProp, tracewise_basic_equivocation_state_validators_comprehensive_prop.message, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: composite_state IMnot_heavy s → LimitedEquivocationProp IM threshold is_equivocating sby apply LimitedEquivocationProp_impl_not_heavy. Qed. End sec_tracewise_limited_message_equivocation. Section sec_fixed_limited_message_equivocation.message, index: Type
IM: index → VLSM message
threshold: R
EqDecision0: EqDecision index
H: ∀ i : index, HasBeenSentCapability (IM i)
H0: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H1: finite.Finite validator
Cv: Type
Hm: Measurable validator
H2: ElemOf validator Cv
H3: Empty Cv
H4: Singleton validator Cv
H5: Union Cv
H6: Intersection Cv
H7: Difference Cv
H8: Elements validator Cv
EqDecision2: EqDecision validator
H9: FinSet validator Cv
H10: ReachableThreshold validator Cv threshold
A: validator → index
sender: message → option validator
H11: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: composite_state IMLimitedEquivocationProp IM threshold is_equivocating s → not_heavy s
Fixed Message Equivocation implies Limited Message Equivocation
Context {message index : Type} (IM : index -> VLSM message) (threshold : R) `{FinSet index Ci} `{!finite.Finite index} `{forall i, HasBeenSentCapability (IM i)} `{forall i, HasBeenReceivedCapability (IM i)} (Free := free_composite_vlsm IM) `{finite.Finite validator} `{ReachableThreshold validator Cv threshold} (A : validator -> index) `{! Inj (=) (=) A} (sender : message -> option validator) (eqv_validators : Cv) (equivocators := fin_sets.set_map A eqv_validators : Ci) (Hlimited : (sum_weights eqv_validators <= threshold)%R ) (Hsender_safety : sender_safety_alt_prop IM A sender) `{RelDecision _ _ (is_equivocating_tracewise_no_has_been_sent IM A sender)} (Fixed := fixed_equivocation_vlsm_composition IM equivocators) (StrongFixed := strong_fixed_equivocation_vlsm_composition IM equivocators) (Limited : VLSM message := tracewise_limited_equivocation_vlsm_composition (Cv := Cv) IM threshold A sender) (HBE : BasicEquivocation (composite_state IM) validator Cv threshold := equivocation_dec_tracewise IM threshold A sender) .message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state StrongFixed
Hs: valid_state_prop StrongFixed snot_heavy smessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state StrongFixed
Hs: valid_state_prop StrongFixed snot_heavy smessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state StrongFixed
Hs: valid_state_prop StrongFixed sequivocating_validators s ⊆ eqv_validators → not_heavy smessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state StrongFixed
Hs: valid_state_prop StrongFixed sequivocating_validators s ⊆ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state StrongFixed
Hs: valid_state_prop StrongFixed sequivocating_validators s ⊆ eqv_validators → not_heavy sby etransitivity; [apply sum_weights_subseteq |].message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state StrongFixed
Hs: valid_state_prop StrongFixed s
Hincl: equivocating_validators s ⊆ eqv_validators(equivocation_fault s <= threshold)%Rmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s: state StrongFixed
Hs: valid_state_prop StrongFixed sequivocating_validators s ⊆ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr: list transition_item
Htr: finite_valid_trace_init_to StrongFixed is s trequivocating_validators s ⊆ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr: list transition_item
Htr: finite_valid_trace_init_to StrongFixed is s tr
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s trequivocating_validators s ⊆ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr: list transition_item
Htr: finite_valid_trace_init_to StrongFixed is s tr
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators sv ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr: list transition_item
Htr: finite_valid_trace_init_to StrongFixed is s tr
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
Hvs': is_equivocating_tracewise_no_has_been_sent IM A sender s vv ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr: list transition_item
Htr: finite_valid_trace_init_to StrongFixed is s tr
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
Hvs': ∃ m : message, sender m = Some v ∧ equivocation_in_trace (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) m trv ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr: list transition_item
Htr: finite_valid_trace_init_to StrongFixed is s tr
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
pre: list transition_item
item: transition_item
suf: list transition_item
Heqtr: tr = pre ++ item :: suf
Hm0: input item = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 prev ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr, pre: list transition_item
item: transition_item
suf: list transition_item
Htr: finite_valid_trace_init_to StrongFixed is s (pre ++ item :: suf)
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Heqtr: tr = pre ++ item :: suf
Hm0: input item = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 prev ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr, pre: list transition_item
item: transition_item
suf: list transition_item
Htr: finite_valid_trace_from_to StrongFixed is s (pre ++ item :: suf)
Hinit: initial_state_prop is
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Heqtr: tr = pre ++ item :: suf
Hm0: input item = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 prev ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr, pre: list transition_item
item: transition_item
suf: list transition_item
Htr: finite_valid_trace_from_to StrongFixed is s (pre ++ [item] ++ suf)
Hinit: initial_state_prop is
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Heqtr: tr = pre ++ item :: suf
Hm0: input item = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 prev ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr, pre: list transition_item
item: transition_item
suf: list transition_item
Htr: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre ∧ finite_valid_trace_from_to StrongFixed (finite_trace_last is pre) s ([item] ++ suf)
Hinit: initial_state_prop is
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Heqtr: tr = pre ++ item :: suf
Hm0: input item = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 prev ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr, pre: list transition_item
item: transition_item
suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
Hitem: finite_valid_trace_from_to StrongFixed (finite_trace_last is pre) s ([item] ++ suf)
Hinit: initial_state_prop is
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Heqtr: tr = pre ++ item :: suf
Hm0: input item = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 prev ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr, pre: list transition_item
item: transition_item
suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
Hitem: finite_valid_trace_from_to StrongFixed (finite_trace_last is pre) s ([item] ++ suf)
Hinit: initial_state_prop is
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Heqtr: tr = pre ++ item :: suf
Hm0: input item = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) prev ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr, pre: list transition_item
item: transition_item
suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
Hitem: finite_valid_trace_from_to StrongFixed (finite_trace_last is pre) s ([item] ++ suf)
Hinit: initial_state_prop is
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Heqtr: tr = pre ++ item :: suf
Hm0: input item = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
tr, pre: list transition_item
item: transition_item
suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
Hitem: finite_valid_trace_from_to StrongFixed (finite_trace_last is pre) (finite_trace_last (finite_trace_last is pre) [item]) [item]
Hinit: initial_state_prop is
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s tr
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Heqtr: tr = pre ++ item :: suf
Hm0: input item = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
iom, oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := iom; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Hm0: input {| l := l; input := iom; destination := s0; output := oom |} = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
Ht: input_valid_transition StrongFixed l (finite_trace_last is pre, iom) ( s0, oom)v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
iom, oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := iom; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
m0: message
Hsender0: sender m0 = Some v
Hm0: iom = Some m0
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
Ht: input_valid_transition StrongFixed l (finite_trace_last is pre, iom) ( s0, oom)v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
m0: message
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := Some m0; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
Hsender0: sender m0 = Some v
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
Ht: input_valid_transition StrongFixed l (finite_trace_last is pre, Some m0) ( s0, oom)v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
m0: message
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := Some m0; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
Hsender0: sender m0 = Some v
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
Hc: strong_fixed_equivocation_constraint IM equivocators l (finite_trace_last is pre, Some m0)v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
m0: message
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := Some m0; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
Hsender0: sender m0 = Some v
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
i: index
Hi: i ∉ elements equivocators
Hsenti: has_been_sent (IM i) (finite_trace_last is pre i) m0v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
m0: message
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := Some m0; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
Hsender0: sender m0 = Some v
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
Hemit: can_emit (equivocators_composition_for_sent IM equivocators (finite_trace_last is pre)) m0v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
m0: message
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := Some m0; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
Hsender0: sender m0 = Some v
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
i: index
Hi: i ∉ elements equivocators
Hsenti: has_been_sent (IM i) (finite_trace_last is pre i) m0v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
m0: message
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := Some m0; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
Hsender0: sender m0 = Some v
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
i: index
Hi: i ∉ elements equivocators
Hsenti: has_been_sent (IM i) (finite_trace_last is pre i) m0
Hsent: composite_has_been_sent IM (finite_trace_last is pre) m0v ∈ eqv_validatorsby specialize (Hsent _ _ (conj Hpre_pre Hinit)).message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
m0: message
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := Some m0; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
Hsender0: sender m0 = Some v
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
i: index
Hi: i ∉ elements equivocators
Hsenti: has_been_sent (IM i) (finite_trace_last is pre i) m0
Hsent: selected_message_exists_in_all_preloaded_traces (free_composite_vlsm IM) (field_selector output) (finite_trace_last is pre) m0v ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
m0: message
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := Some m0; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
Hsender0: sender m0 = Some v
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
Hemit: can_emit (equivocators_composition_for_sent IM equivocators (finite_trace_last is pre)) m0v ∈ eqv_validatorsby revert Hemit; apply elem_of_set_map_inj. Qed.message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
s, is: state StrongFixed
pre, suf: list transition_item
Hpre: finite_valid_trace_from_to StrongFixed is (finite_trace_last is pre) pre
s0: state StrongFixed
oom: option message
l: label StrongFixed
Hinit: initial_state_prop is
m0: message
Hpre_tr: finite_valid_trace_init_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is s (pre ++ {| l := l; input := Some m0; destination := s0; output := oom |} :: suf)
v: validator
Hv: v ∈ equivocating_validators s
Hsender0: sender m0 = Some v
Heqv: ¬ trace_has_message (field_selector output) m0 pre
Hpre_pre: finite_valid_trace_from_to {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} is (finite_trace_last is pre) pre
Hs_pre: valid_state_prop {| vlsm_type := free_composite_vlsm IM; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm IM) |} (finite_trace_last is pre)
Hemit: A v ∈ equivocatorsv ∈ eqv_validatorsmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv thresholdVLSM_incl StrongFixed Limitedmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv thresholdVLSM_incl StrongFixed Limitedmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv thresholdinput_valid_constraint_subsumption (free_composite_vlsm IM) (strong_fixed_equivocation_constraint IM equivocators) (limited_equivocation_constraint IM threshold is_equivocating)message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
i: index
li: label (IM i)
s: state (free_composite_vlsm IM)
om: option message
Hpv: input_valid (constrained_vlsm (free_composite_vlsm IM) (strong_fixed_equivocation_constraint IM equivocators)) (existT i li) (s, om)limited_equivocation_constraint IM threshold is_equivocating (existT i li) (s, om)message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
i: index
li: label (IM i)
s: state (free_composite_vlsm IM)
om: option message
Hpv: input_valid (constrained_vlsm (free_composite_vlsm IM) (strong_fixed_equivocation_constraint IM equivocators)) (existT i li) (s, om)LimitedEquivocationProp IM threshold is_equivocating (composite_transition IM (existT i li) (s, om)).1by eapply tracewise_not_heavy_LimitedEquivocationProp_iff, StrongFixed_valid_state_not_heavy, input_valid_transition_destination. Qed.message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
i: index
li: label (IM i)
s: state (free_composite_vlsm IM)
om: option message
Hpv: input_valid (constrained_vlsm (free_composite_vlsm IM) (strong_fixed_equivocation_constraint IM equivocators)) (existT i li) (s, om)
s': composite_state IM
om': option message
Ht: composite_transition IM (existT i li) (s, om) = (s', om')LimitedEquivocationProp IM threshold is_equivocating (s', om').1message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv thresholdVLSM_incl Fixed Limitedmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv thresholdVLSM_incl Fixed Limitedmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
Heq: VLSM_incl {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := fixed_equivocation_vlsm_composition IM equivocators |} {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM equivocators |}VLSM_incl Fixed Limitedmessage, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
Heq: VLSM_incl {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := fixed_equivocation_vlsm_composition IM equivocators |} {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM equivocators |}VLSM_incl {| vlsm_type := StrongFixed; vlsm_machine := constrained_vlsm_machine (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators) |} {| vlsm_type := StrongFixed; vlsm_machine := StrongFixed |}message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
Heq: VLSM_incl {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := fixed_equivocation_vlsm_composition IM equivocators |} {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM equivocators |}VLSM_incl {| vlsm_type := StrongFixed; vlsm_machine := StrongFixed |} {| vlsm_type := StrongFixed; vlsm_machine := constrained_vlsm_machine (free_composite_vlsm IM) (limited_equivocation_constraint IM threshold is_equivocating) |}by apply Heq.message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
Heq: VLSM_incl {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := fixed_equivocation_vlsm_composition IM equivocators |} {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM equivocators |}VLSM_incl {| vlsm_type := StrongFixed; vlsm_machine := constrained_vlsm_machine (free_composite_vlsm IM) (fixed_equivocation_constraint IM equivocators) |} {| vlsm_type := StrongFixed; vlsm_machine := StrongFixed |}by apply StrongFixed_incl_Limited. Qed. End sec_fixed_limited_message_equivocation. Section sec_has_limited_equivocation.message, index: Type
IM: index → VLSM message
threshold: R
Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
Free:= free_composite_vlsm IM: VLSM message
validator: Type
EqDecision1: EqDecision validator
H10: finite.Finite validator
Cv: Type
Hm: Measurable validator
H11: ElemOf validator Cv
H12: Empty Cv
H13: Singleton validator Cv
H14: Union Cv
H15: Intersection Cv
H16: Difference Cv
H17: Elements validator Cv
EqDecision2: EqDecision validator
H18: FinSet validator Cv
H19: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
eqv_validators: Cv
equivocators:= set_map A eqv_validators: Ci
Hlimited: (sum_weights eqv_validators <= threshold)%R
Hsender_safety: sender_safety_alt_prop IM A sender
H20: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Fixed:= fixed_equivocation_vlsm_composition IM equivocators: VLSM message
StrongFixed:= strong_fixed_equivocation_vlsm_composition IM equivocators: VLSM message
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
HBE:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
Heq: VLSM_incl {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := fixed_equivocation_vlsm_composition IM equivocators |} {| vlsm_type := fixed_equivocation_vlsm_composition IM equivocators; vlsm_machine := strong_fixed_equivocation_vlsm_composition IM equivocators |}VLSM_incl {| vlsm_type := StrongFixed; vlsm_machine := StrongFixed |} {| vlsm_type := StrongFixed; vlsm_machine := constrained_vlsm_machine (free_composite_vlsm IM) (limited_equivocation_constraint IM threshold is_equivocating) |}
Limited Equivocation derived from Fixed Equivocation
Context {message} `{FinSet index Ci} `{!finite.Finite index} (IM : index -> VLSM message) (threshold : R) `{finite.Finite validator} `{ReachableThreshold validator Cv threshold} (A : validator -> index) `{!Inj (=) (=) A} (sender : message -> option validator) `{forall i, HasBeenSentCapability (IM i)} `{forall i, HasBeenReceivedCapability (IM i)} . Definition fixed_limited_equivocation_prop (s : composite_state IM) (tr : list (composite_transition_item IM)) : Prop := exists equivocators : Cv, (sum_weights equivocators <= threshold)%R /\ finite_valid_trace (fixed_equivocation_vlsm_composition (Ci := Ci) IM (fin_sets.set_map A equivocators)) s tr. Context `{FinSet message Cm} (message_dependencies : message -> Cm) `{RelDecision _ _ (is_equivocating_tracewise_no_has_been_sent IM A sender)} (Limited : VLSM message := tracewise_limited_equivocation_vlsm_composition (Cv := Cv) IM threshold A sender) .
Traces with the fixed_limited_equivocation_property are valid for the
composition using a limited_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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hsender_safety: sender_safety_alt_prop IM A sender∀ (s : composite_state IM) (tr : list (composite_transition_item IM)), fixed_limited_equivocation_prop s tr → finite_valid_trace Limited s trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hsender_safety: sender_safety_alt_prop IM A sender∀ (s : composite_state IM) (tr : list (composite_transition_item IM)), fixed_limited_equivocation_prop s tr → finite_valid_trace Limited s trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hsender_safety: sender_safety_alt_prop IM A sender
s: composite_state IM
tr: list (composite_transition_item IM)
equivocators: Cv
Hlimited: (sum_weights equivocators <= threshold)%R
Htr: finite_valid_trace (fixed_equivocation_vlsm_composition IM (set_map A equivocators)) s trfinite_valid_trace Limited s trby eapply Fixed_incl_Limited. 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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hsender_safety: sender_safety_alt_prop IM A sender
s: composite_state IM
tr: list (composite_transition_item IM)
equivocators: Cv
Hlimited: (sum_weights equivocators <= threshold)%R
Htr: finite_valid_trace (fixed_equivocation_vlsm_composition IM (set_map A equivocators)) s trVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm IM) (fixed_equivocation_constraint IM (set_map A equivocators))) (constrained_vlsm_machine (free_composite_vlsm IM) (limited_equivocation_constraint IM threshold is_equivocating))
Traces having the strong_trace_witnessing_equivocation_property, which
are valid for the free composition and whose final state is not_heavy have
the fixed_limited_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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
Htracewise_basic_equivocation:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
tracewise_not_heavy:= not_heavy: composite_state IM → Prop∀ (is : state (composite_type IM)) (s : state (free_composite_vlsm IM)) (tr : list transition_item), strong_trace_witnessing_equivocation_prop IM threshold A sender is tr → finite_valid_trace_init_to (free_composite_vlsm IM) is s tr → tracewise_not_heavy s → fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
Htracewise_basic_equivocation:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
tracewise_not_heavy:= not_heavy: composite_state IM → Prop∀ (is : state (composite_type IM)) (s : state (free_composite_vlsm IM)) (tr : list transition_item), strong_trace_witnessing_equivocation_prop IM threshold A sender is tr → finite_valid_trace_init_to (free_composite_vlsm IM) is s tr → tracewise_not_heavy s → fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
Htracewise_basic_equivocation:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
tracewise_not_heavy:= not_heavy: composite_state IM → Prop
is: state (composite_type IM)
s: state (free_composite_vlsm IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Hnot_heavy: tracewise_not_heavy sfixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
Htracewise_basic_equivocation:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
tracewise_not_heavy:= not_heavy: composite_state IM → Prop
is: state (composite_type IM)
s: state (free_composite_vlsm IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Hnot_heavy: tracewise_not_heavy s(sum_weights (equivocating_validators s) <= threshold)%R ∧ finite_valid_trace (fixed_equivocation_vlsm_composition IM (set_map A (equivocating_validators s))) is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
Htracewise_basic_equivocation:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
tracewise_not_heavy:= not_heavy: composite_state IM → Prop
is: state (composite_type IM)
s: state (free_composite_vlsm IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Hnot_heavy: tracewise_not_heavy sfinite_valid_trace (fixed_equivocation_vlsm_composition IM (set_map A (equivocating_validators s))) is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
Htracewise_basic_equivocation:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
tracewise_not_heavy:= not_heavy: composite_state IM → Prop
is: state (composite_type IM)
s: state (free_composite_vlsm IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Hnot_heavy: tracewise_not_heavy s(sum_weights (equivocating_validators s) <= threshold)%Rby eapply valid_trace_forget_last, strong_witness_has_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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
Htracewise_basic_equivocation:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
tracewise_not_heavy:= not_heavy: composite_state IM → Prop
is: state (composite_type IM)
s: state (free_composite_vlsm IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Hnot_heavy: tracewise_not_heavy sfinite_valid_trace (fixed_equivocation_vlsm_composition IM (set_map A (equivocating_validators s))) is trby replace (sum_weights _) with (equivocation_fault s). 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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
Htracewise_basic_equivocation:= equivocation_dec_tracewise IM threshold A sender: BasicEquivocation (composite_state IM) validator Cv threshold
tracewise_not_heavy:= not_heavy: composite_state IM → Prop
is: state (composite_type IM)
s: state (free_composite_vlsm IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Hnot_heavy: tracewise_not_heavy s(sum_weights (equivocating_validators s) <= threshold)%R
Traces with the strong_trace_witnessing_equivocation_property, which are
valid for the composition using a limited_equivocation_constraint
have the fixed_limited_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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender∀ (s : state (composite_type IM)) (tr : list transition_item), strong_trace_witnessing_equivocation_prop IM threshold A sender s tr → finite_valid_trace Limited s tr → fixed_limited_equivocation_prop s trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender∀ (s : state (composite_type IM)) (tr : list transition_item), strong_trace_witnessing_equivocation_prop IM threshold A sender s tr → finite_valid_trace Limited s tr → fixed_limited_equivocation_prop s trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state (composite_type IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender s tr
Htr: finite_valid_trace Limited s trfixed_limited_equivocation_prop s trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state (composite_type IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender s tr
Htr: finite_valid_trace Limited s trfinite_valid_trace_init_to (free_composite_vlsm IM) s ?s trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state (composite_type IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender s tr
Htr: finite_valid_trace Limited s trnot_heavy ?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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state (composite_type IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender s tr
Htr: finite_valid_trace Limited s trfinite_valid_trace_init_to (free_composite_vlsm IM) s ?s trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state (composite_type IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender s tr
Htr: finite_valid_trace Limited s trfinite_valid_trace (free_composite_vlsm IM) s trby apply (VLSM_incl_constrained_vlsm (free_composite_vlsm 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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state (composite_type IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender s tr
Htr: finite_valid_trace Limited s trVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm IM) (limited_equivocation_constraint IM threshold is_equivocating)) (free_composite_vlsm_machine IM)by apply tracewise_not_heavy_LimitedEquivocationProp_iff, full_node_limited_equivocation_valid_state_weight, finite_valid_trace_last_pstate with (X := Limited), 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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state (composite_type IM)
tr: list transition_item
Hstrong: strong_trace_witnessing_equivocation_prop IM threshold A sender s tr
Htr: finite_valid_trace Limited s trnot_heavy (finite_trace_last s tr)
Any state which is valid for limited equivocation can be produced by
a trace having the fixed_limited_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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender∀ s : state Limited, valid_state_prop Limited s → ∃ (is : state Limited) (tr : list transition_item), finite_trace_last is tr = s ∧ fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender∀ s : state Limited, valid_state_prop Limited s → ∃ (is : state Limited) (tr : list transition_item), finite_trace_last is tr = s ∧ fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited s∃ (is : state Limited) (tr : list transition_item), finite_trace_last is tr = s ∧ fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited svalid_state_prop (free_composite_vlsm IM) 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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited s
Hfree_s: valid_state_prop (free_composite_vlsm IM) s∃ (is : state Limited) (tr : list transition_item), finite_trace_last is tr = s ∧ fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited svalid_state_prop (free_composite_vlsm IM) sby apply (VLSM_incl_constrained_vlsm (free_composite_vlsm 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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited sVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm IM) (limited_equivocation_constraint IM threshold is_equivocating)) (free_composite_vlsm_machine 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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited s
Hfree_s: valid_state_prop (free_composite_vlsm IM) s∃ (is : state Limited) (tr : list transition_item), finite_trace_last is tr = s ∧ fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited s
Hfree_s: valid_state_prop (free_composite_vlsm IM) s
is: state (free_composite_vlsm IM)
tr: list transition_item
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Heqv: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr∃ (is : state Limited) (tr : list transition_item), finite_trace_last is tr = s ∧ fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited s
Hfree_s: valid_state_prop (free_composite_vlsm IM) s
is: state (free_composite_vlsm IM)
tr: list transition_item
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Heqv: strong_trace_witnessing_equivocation_prop IM threshold A sender is trfinite_trace_last is tr = s ∧ fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited s
Hfree_s: valid_state_prop (free_composite_vlsm IM) s
is: state (free_composite_vlsm IM)
tr: list transition_item
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Heqv: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr
Hlst: finite_trace_last is tr = sfinite_trace_last is tr = s ∧ fixed_limited_equivocation_prop is trmessage, index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision0: EqDecision index
H6: FinSet index Ci
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited s
Hfree_s: valid_state_prop (free_composite_vlsm IM) s
is: state (free_composite_vlsm IM)
tr: list transition_item
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Heqv: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr
Hlst: finite_trace_last is tr = sfixed_limited_equivocation_prop is trby apply tracewise_not_heavy_LimitedEquivocationProp_iff, full_node_limited_equivocation_valid_state_weight. Qed. End sec_has_limited_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
H7: finite.Finite index
IM: index → VLSM message
threshold: R
validator: Type
EqDecision1: EqDecision validator
H8: finite.Finite validator
Cv: Type
Hm: Measurable validator
H9: ElemOf validator Cv
H10: Empty Cv
H11: Singleton validator Cv
H12: Union Cv
H13: Intersection Cv
H14: Difference Cv
H15: Elements validator Cv
EqDecision2: EqDecision validator
H16: FinSet validator Cv
H17: ReachableThreshold validator Cv threshold
A: validator → index
Inj0: Inj eq eq A
sender: message → option validator
H18: ∀ i : index, HasBeenSentCapability (IM i)
H19: ∀ i : index, HasBeenReceivedCapability (IM i)
Cm: Type
H20: ElemOf message Cm
H21: Empty Cm
H22: Singleton message Cm
H23: Union Cm
H24: Intersection Cm
H25: Difference Cm
H26: Elements message Cm
EqDecision3: EqDecision message
H27: FinSet message Cm
message_dependencies: message → Cm
H28: RelDecision (is_equivocating_tracewise_no_has_been_sent IM A sender)
Limited:= tracewise_limited_equivocation_vlsm_composition IM threshold A sender: VLSM message
Hke: WitnessedEquivocationCapability IM threshold A sender
Irreflexive0: Irreflexive (msg_dep_happens_before message_dependencies)
H29: ∀ i : index, MessageDependencies (IM i) message_dependencies
Hfull: ∀ i : index, message_dependencies_full_node_condition_prop (IM i) message_dependencies
no_initial_messages_in_IM: no_initial_messages_in_IM_prop IM
can_emit_signed: channel_authentication_prop IM A sender
s: state Limited
Hs: valid_state_prop Limited s
Hfree_s: valid_state_prop (free_composite_vlsm IM) s
is: state (free_composite_vlsm IM)
tr: list transition_item
Htr: finite_valid_trace_init_to (free_composite_vlsm IM) is s tr
Heqv: strong_trace_witnessing_equivocation_prop IM threshold A sender is tr
Hlst: finite_trace_last is tr = snot_heavy s