From stdpp Require Import prelude finite.From VLSM.Lib Require Import Preamble ListExtras StdppExtras. From VLSM.Core Require Import VLSM VLSMProjections Composition SubProjectionTraces. From VLSM.Core Require Import Equivocation Equivocation.NoEquivocation. From VLSM.Core Require Import Equivocators.Equivocators Equivocators.EquivocatorsProjections.From VLSM.Core Require Import Equivocators.EquivocatorsComposition. From VLSM.Core Require Import Equivocators.EquivocatorsCompositionProjections Plans.
Core: VLSM Equivocator Full Replay Traces
Section sec_all_equivocating. Context {message : Type} `{finite.Finite index} (IM : index -> VLSM message) `{forall i : index, HasBeenSentCapability (IM i)} `{forall i : index, HasBeenReceivedCapability (IM i)} (seed : message -> Prop) (equivocating : list index) (Free := free_composite_vlsm IM) (FreeE := free_composite_vlsm (equivocator_IM IM)) (FreeSubE := free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating)) (SeededXE : VLSM message := seeded_equivocators_no_equivocation_vlsm IM equivocating seed) .message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE mVLSM_embedding SeededXE (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_label (equivocator_IM IM) equivocating) (lift_sub_state (equivocator_IM IM) equivocating)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE mVLSM_embedding SeededXE (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_label (equivocator_IM IM) equivocating) (lift_sub_state (equivocator_IM IM) equivocating)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
om: option messageinput_valid SeededXE l (s, om) → valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s) → option_valid_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) om → valid (lift_sub_label (equivocator_IM IM) equivocating l) (lift_sub_state (equivocator_IM IM) equivocating s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
om: option message
s': state SeededXE
om': option messageinput_valid_transition SeededXE l (s, om) (s', om') → transition (lift_sub_label (equivocator_IM IM) equivocating l) (lift_sub_state (equivocator_IM IM) equivocating s, om) = (lift_sub_state (equivocator_IM IM) equivocating s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
s: state SeededXEinitial_state_prop s → initial_state_prop (lift_sub_state (equivocator_IM IM) equivocating s)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
m: messageinput_valid SeededXE l (s, Some m) → valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s) → initial_message_prop m → valid_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
om: option messageinput_valid SeededXE l (s, om) → valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s) → option_valid_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) om → valid (lift_sub_label (equivocator_IM IM) equivocating l) (lift_sub_state (equivocator_IM IM) equivocating s, om)by rapply @lift_sub_valid; apply Hv.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s)
HomY: option_valid_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) omvalid (lift_sub_label (equivocator_IM IM) equivocating l) (lift_sub_state (equivocator_IM IM) equivocating s, om)by intros [_ Ht]; revert Ht; apply lift_sub_transition.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
om: option message
s': state SeededXE
om': option messageinput_valid_transition SeededXE l (s, om) (s', om') → transition (lift_sub_label (equivocator_IM IM) equivocating l) (lift_sub_state (equivocator_IM IM) equivocating s, om) = (lift_sub_state (equivocator_IM IM) equivocating s', om')by intros; apply (lift_sub_state_initial (equivocator_IM IM)).message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
s: state SeededXEinitial_state_prop s → initial_state_prop (lift_sub_state (equivocator_IM IM) equivocating s)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
m: messageinput_valid SeededXE l (s, Some m) → valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s) → initial_message_prop m → valid_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s)
Hinit: initial_message_prop mvalid_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s)
Hseeded: seed mvalid_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s)
Hinit: initial_message_prop mvalid_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s)
Hinit: initial_message_prop minitial_message_prop mby exists (proj1_sig i).message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s)
i: sub_index equivocating
Him: ∃ mi : initial_message (sub_IM (equivocator_IM IM) equivocating i), ` mi = minitial_message_prop mby eapply VLSM_incl_valid_message; [apply free_composite_vlsm_spec | do 2 red | apply Hseed]. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label SeededXE
s: state SeededXE
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (lift_sub_state (equivocator_IM IM) equivocating s)
Hseeded: seed mvalid_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) m
Given a
base_s
tate to replay on, the replay label corresponding to a
given transition label is obtained as the equivocator_state_append_label.
Definition lift_equivocators_sub_label_to
(base_s : composite_state (equivocator_IM IM))
(l : composite_label (sub_IM (equivocator_IM IM) equivocating))
: composite_label (equivocator_IM IM)
:=
let (sub_i, li) := l in
let i := proj1_sig sub_i in
existT i (equivocator_state_append_label (IM i) (base_s i) li).
Given a
base_s
tate to replay on, the replay state corresponding to a
destination state in a transition by appending its components to the
base state using equivocator_state_append.
Definition lift_equivocators_sub_state_to (base_s : composite_state (equivocator_IM IM)) (s : composite_state (sub_IM (equivocator_IM IM) equivocating)) : composite_state (equivocator_IM IM) := fun i => match @decide (sub_index_prop equivocating i) (sub_index_prop_dec equivocating i) with | left e => equivocator_state_append (base_s i) (s (dexist i e)) | _ => base_s i end.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
base_s: composite_state (equivocator_IM IM)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating ilift_equivocators_sub_state_to base_s s i = equivocator_state_append (base_s i) (s (dexist i Hi))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
base_s: composite_state (equivocator_IM IM)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating ilift_equivocators_sub_state_to base_s s i = equivocator_state_append (base_s i) (s (dexist i Hi))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
base_s: composite_state (equivocator_IM IM)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating imatch decide (sub_index_prop equivocating i) with | left e => equivocator_state_append (base_s i) (s (dexist i e)) | in_right => base_s i end = equivocator_state_append (base_s i) (s (dexist i Hi))by rewrite (sub_IM_state_pi s H_i Hi). Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
base_s: composite_state (equivocator_IM IM)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi, H_i: sub_index_prop equivocating iequivocator_state_append (base_s i) (s (dexist i H_i)) = equivocator_state_append (base_s i) (s (dexist i Hi))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
base_s: composite_state (equivocator_IM IM)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)∀ i : index, equivocator_state_n (base_s i) ≤ equivocator_state_n (lift_equivocators_sub_state_to base_s s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
base_s: composite_state (equivocator_IM IM)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)∀ i : index, equivocator_state_n (base_s i) ≤ equivocator_state_n (lift_equivocators_sub_state_to base_s s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
base_s: composite_state (equivocator_IM IM)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: indexequivocator_state_n (base_s i) ≤ equivocator_state_n (lift_equivocators_sub_state_to base_s s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
base_s: composite_state (equivocator_IM IM)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: indexequivocator_state_n (base_s i) ≤ equivocator_state_n match decide (sub_index_prop equivocating i) with | left e => equivocator_state_append (base_s i) (s (dexist i e)) | in_right => base_s i endby rewrite equivocator_state_append_size; lia. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
base_s: composite_state (equivocator_IM IM)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
s0: sub_index_prop equivocating iequivocator_state_n (base_s i) ≤ equivocator_state_n (equivocator_state_append (base_s i) (s (dexist i s0)))
The plan item corresponding to an initial state equivocation.
Definition initial_new_machine_transition_item
(is : composite_state (sub_IM (equivocator_IM IM) equivocating))
(eqv : sub_index equivocating)
: composite_plan_item (equivocator_IM IM)
:=
let i := proj1_sig eqv in
let seqv := is eqv in
let new_l :=
(existT i (Spawn (equivocator_state_zero seqv)))
in
Build_plan_item (composite_type (equivocator_IM IM)) new_l None.
Command for equivocating all states of an initial composite state.
Definition spawn_initial_state (is : composite_state (sub_IM (equivocator_IM IM) equivocating)) : composite_plan (equivocator_IM IM) := map (initial_new_machine_transition_item is) (enum (sub_index equivocating)). Definition replayed_initial_state_from full_replay_state is := fst (composite_apply_plan (equivocator_IM IM) full_replay_state (spawn_initial_state is)).
The final state obtained after replaying an initial state is precisely
the lifting of that initial state over the given base state.
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is(∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end) → finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is(∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end) → finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hcut: ∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hcut: ∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endfinite_trace_last full_replay_state (_apply_plan full_replay_state (spawn_initial_state is)).1 = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hcut: ∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end
i: index(_apply_plan full_replay_state (spawn_initial_state is)).2 i = lift_equivocators_sub_state_to full_replay_state is imessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hcut: ∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ i : index, (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) l)).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i end
i: index(_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (enum (sub_index equivocating)))).2 i = lift_equivocators_sub_state_to full_replay_state is imessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hcut: ∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ i : index, (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) l)).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i end
i: indexmatch decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ enum (sub_index equivocating)) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i end = lift_equivocators_sub_state_to full_replay_state is imessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hcut: ∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ i : index, (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) l)).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i end
i: indexmatch decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ enum (sub_index equivocating)) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i end = match decide (sub_index_prop equivocating i) with | left e => equivocator_state_append (full_replay_state i) (is (dexist i e)) | in_right => full_replay_state i endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hcut: ∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ i : index, (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) l)).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i end
i: index
H2: sub_index_prop equivocating i(if decide (dexist i H2 ∈ enum (sub_index equivocating)) then equivocator_state_append (full_replay_state i) (is (dexist i H2)) else full_replay_state i) = equivocator_state_append (full_replay_state i) (is (dexist i H2))by apply elem_of_enum.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hcut: ∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ i : index, (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) l)).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i end
i: index
H2: sub_index_prop equivocating idexist i H2 ∈ enum (sub_index equivocating)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: l ⊆ enum (sub_index equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state (composite_type (equivocator_IM IM)))%type
i: indextr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state (composite_type (equivocator_IM IM)))%type
i: index
IHl: NoDup l → ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endtr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state (composite_type (equivocator_IM IM)))%type
i: index
IHl: ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endtr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [x])
i: index
IHl: ∀ (tr_full_replay_is := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end(composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))).2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dexist i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [x])
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
IHl: ∀ i : index, afinal i = match decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i endstate_update (equivocator_IM IM) afinal (` x) (equivocator_state_extend (afinal (` x)) (equivocator_state_zero (is x))) i = match decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dexist ix Hix])
Hincl: l ++ [dexist ix Hix] ⊆ enum (sub_index equivocating)
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
IHl: afinal i = match decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i endstate_update (equivocator_IM IM) afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dexist ix Hix)))) i = match decide (sub_index_prop equivocating i) with | left e => if decide (dexist i e ∈ l ++ [dexist ix Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)equivocator_state_extend (afinal i) (equivocator_state_zero (is (dexist i Hix))) = (if decide (dexist i _Hix ∈ l ++ [dexist i Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dexist ix Hix])
Hincl: l ++ [dexist ix Hix] ⊆ enum (sub_index equivocating)
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)
n: ix ≠ iafinal i = (if decide (dexist i _Hix ∈ l ++ [dexist ix Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)equivocator_state_extend (afinal i) (equivocator_state_zero (is (dexist i Hix))) = (if decide (dexist i _Hix ∈ l ++ [dexist i Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (afinal i) (equivocator_state_zero (is (dexist i Hix))) = (if decide (dexist i _Hix ∈ l ++ [dexist i Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)dexist i _Hix ∉ lmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (afinal i) (equivocator_state_zero (is (dexist i Hix))) = (if decide (dexist i _Hix ∈ l ++ [dexist i Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (full_replay_state i) (equivocator_state_zero (is (dexist i Hix))) = equivocator_state_append (full_replay_state i) (is (dexist i _Hix))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = full_replay_state idexist i _Hix ∈ l ++ [dexist i Hix]message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (full_replay_state i) (equivocator_state_zero (is (dexist i Hix))) = equivocator_state_append (full_replay_state i) (is (dexist i _Hix))by apply equivocator_state_append_singleton_is_extend, (His (dexist i Hix)).message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_append (full_replay_state i) (is (dexist i Hix)) = equivocator_state_extend (full_replay_state i) (equivocator_state_zero (is (dexist i Hix)))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = full_replay_state idexist i _Hix ∈ l ++ [dexist i Hix]by apply dsig_eq.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = full_replay_state idexist i _Hix = dexist i Hixmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)dexist i _Hix ∉ lmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: NoDup (l ++ [dexist i Hix])
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)
Heqv: dexist i _Hix ∈ lFalsemessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: ∀ x : sub_index equivocating, x ∈ l → x ∉ [dexist i Hix]
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)
Heqv: dexist i _Hix ∈ lFalsemessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: ∀ x : sub_index equivocating, x ∈ l → x ∉ [dexist i Hix]
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)
Heqv: dexist i _Hix ∈ ldexist i _Hix ∈ [dexist i Hix]by apply dsig_eq.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: l ++ [dexist i Hix] ⊆ enum (sub_index equivocating)
Hnodup: ∀ x : sub_index equivocating, x ∈ l → x ∉ [dexist i Hix]
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)
Heqv: dexist i _Hix ∈ ldexist i _Hix = dexist i Hixmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dexist ix Hix])
Hincl: l ++ [dexist ix Hix] ⊆ enum (sub_index equivocating)
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
IHl: afinal i = (if decide (dexist i _Hix ∈ l) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)
n: ix ≠ iafinal i = (if decide (dexist i _Hix ∈ l ++ [dexist ix Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dexist ix Hix])
Hincl: l ++ [dexist ix Hix] ⊆ enum (sub_index equivocating)
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
H2: dexist i _Hix ∈ l
IHl: afinal i = equivocator_state_append (full_replay_state i) (is (dexist i _Hix))
n: ix ≠ iafinal i = (if decide (dexist i _Hix ∈ l ++ [dexist ix Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dexist ix Hix])
Hincl: l ++ [dexist ix Hix] ⊆ enum (sub_index equivocating)
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
H2: dexist i _Hix ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ iafinal i = (if decide (dexist i _Hix ∈ l ++ [dexist ix Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)rewrite decide_True; rewrite ?elem_of_app; itauto.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dexist ix Hix])
Hincl: l ++ [dexist ix Hix] ⊆ enum (sub_index equivocating)
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
H2: dexist i _Hix ∈ l
IHl: afinal i = equivocator_state_append (full_replay_state i) (is (dexist i _Hix))
n: ix ≠ iafinal i = (if decide (dexist i _Hix ∈ l ++ [dexist ix Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dexist ix Hix])
Hincl: l ++ [dexist ix Hix] ⊆ enum (sub_index equivocating)
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
H2: dexist i _Hix ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ iafinal i = (if decide (dexist i _Hix ∈ l ++ [dexist ix Hix]) then equivocator_state_append (full_replay_state i) (is (dexist i _Hix)) else full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dexist ix Hix])
Hincl: l ++ [dexist ix Hix] ⊆ enum (sub_index equivocating)
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
H2: dexist i _Hix ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ idexist i _Hix ∉ l ++ [dexist ix Hix]by rewrite elem_of_list_singleton, dsig_eq in Hx. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dexist ix Hix])
Hincl: l ++ [dexist ix Hix] ⊆ enum (sub_index equivocating)
i: index
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
_Hix: sub_index_prop equivocating i
H2: dexist i _Hix ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ i
Hx: dexist i _Hix ∈ [dexist ix Hix]False
For any equivocator_descriptors corresponding to the base state
the projection of the replaying of an initial state is empty.
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project IM eqv_descriptors (replayed_initial_state_from full_replay_state is) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project IM eqv_descriptors (replayed_initial_state_from full_replay_state is) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project IM eqv_descriptors (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) (enum (sub_index equivocating)))).1 = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state∀ l : list (sub_index equivocating), equivocators_trace_project IM eqv_descriptors (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
l: list (sub_index equivocating)equivocators_trace_project IM eqv_descriptors (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
l: list (sub_index equivocating)
plan: (list transition_item * state (composite_type (equivocator_IM IM)))%type
Heqplan: plan = composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)equivocators_trace_project IM eqv_descriptors plan.1 = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
l: list (sub_index equivocating)
plan: (list transition_item * state (composite_type (equivocator_IM IM)))%type
Heqplan: plan = composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)equivocators_trace_project IM eqv_descriptors plan.1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (plan.2 i))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
l: list (sub_index equivocating)equivocators_trace_project IM eqv_descriptors (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).2 i))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: equivocators_trace_project IM eqv_descriptors (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).2 i))equivocators_trace_project IM eqv_descriptors (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))).2 i))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: equivocators_trace_project IM eqv_descriptors (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).2 i))equivocators_trace_project IM eqv_descriptors (let (aitems, afinal) := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) in let (a'items, a'final) := composite_apply_plan (equivocator_IM IM) afinal (map (initial_new_machine_transition_item is) [x]) in (aitems ++ a'items, a'final)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((let (aitems, afinal) := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) in let (a'items, a'final) := composite_apply_plan (equivocator_IM IM) afinal (map (initial_new_machine_transition_item is) [x]) in (aitems ++ a'items, a'final)).2 i))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state (composite_type (equivocator_IM IM))
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors (litems, lfinal).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((litems, lfinal).2 i))equivocators_trace_project IM eqv_descriptors (let (a'items, a'final) := composite_apply_plan (equivocator_IM IM) lfinal (map (initial_new_machine_transition_item is) [x]) in (litems ++ a'items, a'final)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((let (a'items, a'final) := composite_apply_plan (equivocator_IM IM) lfinal (map (initial_new_machine_transition_item is) [x]) in (litems ++ a'items, a'final)).2 i))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state (composite_type (equivocator_IM IM))
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors (litems, lfinal).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((litems, lfinal).2 i))
aitems: list transition_item
afinal: state (composite_type (equivocator_IM IM))
Hplana: composite_apply_plan (equivocator_IM IM) lfinal (map (initial_new_machine_transition_item is) [x]) = (aitems, afinal)equivocators_trace_project IM eqv_descriptors (litems ++ aitems, afinal).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((litems ++ aitems, afinal).2 i))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hplana: composite_apply_plan (equivocator_IM IM) lfinal [initial_new_machine_transition_item is x] = (aitems, afinal)equivocators_trace_project IM eqv_descriptors (litems ++ aitems) = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (afinal i))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocators_trace_project IM eqv_descriptors (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}]) = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocators_trace_project IM eqv_descriptors (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}]) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocators_trace_project IM eqv_descriptors (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}]) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' litems = Some (preX, eqv_descriptors) ∧ [] = preX ++ sufXmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors) ∧ equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ [] = [] ++ []message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
Heqv_descriptors: existing_descriptor (IM (` x)) (eqv_descriptors (` x)) (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
Heqv_descriptors: match eqv_descriptors (` x) with | NewMachine _ => False | Existing i => is_Some (equivocator_state_project (full_replay_state (` x)) i) end
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
Heqv_descriptors: is_Some (equivocator_state_project (full_replay_state (` x)) n)
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))match equivocators_transition_item_project IM eqv_descriptors {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |} with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))match match equivocator_vlsm_transition_item_project (IM (` x)) (ProjectionTraces.composite_transition_item_projection (equivocator_IM IM) {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}) (eqv_descriptors (` x)) with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := equivocators_state_project IM eqv_descriptors (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))match match match eqv_descriptors (` x) with | NewMachine _ => Some (None, eqv_descriptors (` x)) | Existing j => match ProjectionTraces.composite_transition_item_projection (equivocator_IM IM) {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |} with | {| l := el; input := im; destination := s; output := om |} => match equivocator_state_project s j with | Some sj => match el with | Spawn sn => if decide (j = equivocator_state_last s) then Some (None, NewMachine sn) else Some (None, Existing j) | ContinueWith i lx => if decide (i = j) then Some (Some {| l := lx; input := im; destination := sj; output := om |}, Existing i) else Some (None, Existing j) | ForkWith i lx => if decide (j = equivocator_state_last s) then Some (Some {| l := lx; input := im; destination := sj; output := om |}, Existing i) else Some (None, Existing j) end | None => None end end end with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := equivocators_state_project IM eqv_descriptors (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))match match match ProjectionTraces.composite_transition_item_projection (equivocator_IM IM) {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |} with | {| l := el; input := im; destination := s; output := om |} => match equivocator_state_project s n with | Some sj => match el with | Spawn sn => if decide (n = equivocator_state_last s) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i lx => if decide (i = n) then Some (Some {| l := lx; input := im; destination := sj; output := om |}, Existing i) else Some (None, Existing n) | ForkWith i lx => if decide (n = equivocator_state_last s) then Some (Some {| l := lx; input := im; destination := sj; output := om |}, Existing i) else Some (None, Existing n) end | None => None end end with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := equivocators_state_project IM eqv_descriptors (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))match match match equivocator_state_project (lfinal (` x)) n with | Some _ => if decide (n = equivocator_state_n (lfinal (` x))) then Some (None, NewMachine (equivocator_state_zero (is x))) else Some (None, Existing n) | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := state_update IM (equivocators_state_project IM eqv_descriptors lfinal) (` x) match eqv_descriptors (` x) with | NewMachine sn => sn | Existing i => match equivocator_state_project (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i with | Some si => si | None => equivocator_state_zero (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) end end; output := None |}, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))match match match equivocator_state_project (lfinal (` x)) n with | Some _ => Some (None, Existing n) | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := state_update IM (equivocators_state_project IM eqv_descriptors lfinal) (` x) match eqv_descriptors (` x) with | NewMachine sn => sn | Existing i => match equivocator_state_project (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i with | Some si => si | None => equivocator_state_zero (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) end end; output := None |}, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)by equivocator_state_update_simpl.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: state (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hltn: n < equivocator_state_n (full_replay_state (` x))
lfinal_x_n: state (IM (` x))
Hltn': n < equivocator_state_n (lfinal (` x))Some ([], equivocator_descriptors_update IM eqv_descriptors (` x) (Existing n)) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
i: indexequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
i: indexequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)by destruct (decide (i = `x)); subst; equivocator_state_update_simpl; [lia |]. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
i: index
IHl: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (composite_type (equivocator_IM IM))∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lst i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (composite_type (equivocator_IM IM))∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lst i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) (enum (sub_index equivocating)))).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)∀ (l : list (sub_index equivocating)) (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
l: list (sub_index equivocating)∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) j∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) j∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (let (aitems, afinal) := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) in let (a'items, a'final) := composite_apply_plan (equivocator_IM IM) afinal (map (initial_new_machine_transition_item is) [x]) in (aitems ++ a'items, a'final)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) j
Hlst: let after_a := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) in finite_trace_last full_replay_state after_a.1 = after_a.2∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (let (aitems, afinal) := composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) in let (a'items, a'final) := composite_apply_plan (equivocator_IM IM) afinal (map (initial_new_machine_transition_item is) [x]) in (aitems ++ a'items, a'final)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state (composite_type (equivocator_IM IM))
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems, lfinal).1 i) j = equivocator_state_project (full_replay_state i) j
Hlst: let after_a := (litems, lfinal) in finite_trace_last full_replay_state after_a.1 = after_a.2∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (let (a'items, a'final) := composite_apply_plan (equivocator_IM IM) lfinal (map (initial_new_machine_transition_item is) [x]) in (litems ++ a'items, a'final)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state (composite_type (equivocator_IM IM))
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems, lfinal).1 i) j = equivocator_state_project (full_replay_state i) j
Hlst: let after_a := (litems, lfinal) in finite_trace_last full_replay_state after_a.1 = after_a.2
aitems: list transition_item
afinal: state (composite_type (equivocator_IM IM))
Hplana: composite_apply_plan (equivocator_IM IM) lfinal (map (initial_new_machine_transition_item is) [x]) = (aitems, afinal)∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems ++ aitems, afinal).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state (composite_type (equivocator_IM IM))
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems, lfinal).1 i) j = equivocator_state_project (full_replay_state i) j
Hlst: let after_a := (litems, lfinal) in finite_trace_last full_replay_state after_a.1 = after_a.2
aitems: list transition_item
afinal: state (composite_type (equivocator_IM IM))∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}], state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
Hlst: finite_trace_last full_replay_state litems = lfinal
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}]) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
Hlst: finite_trace_last full_replay_state litems = lfinal
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (destination {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |} i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
Hlst: finite_trace_last full_replay_state litems = lfinal
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: composite_state (equivocator_IM IM)
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
Hlst: finite_trace_last full_replay_state litems = lfinal
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
i: index
j: nat
Hj: j < equivocator_state_n (full_replay_state i)equivocator_state_project (state_update (equivocator_IM IM) lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
j: nat
Hj: j < equivocator_state_n (full_replay_state (` x))equivocator_state_project (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) j = equivocator_state_project (full_replay_state (` x)) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
j: nat
IHl: equivocator_state_project (finite_trace_last full_replay_state litems (` x)) j = equivocator_state_project (full_replay_state (` x)) j
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hj: j < equivocator_state_n (full_replay_state (` x))equivocator_state_project (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) j = equivocator_state_project (full_replay_state (` x)) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
j: nat
s_x_j: state (IM (` x))
IHl: equivocator_state_project (finite_trace_last full_replay_state litems (` x)) j = Some s_x_j
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hj, Hltj: j < equivocator_state_n (full_replay_state (` x))equivocator_state_project (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) j = Some s_x_jby apply equivocator_state_project_Some_rev in IHl as Hltj'. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan (equivocator_IM IM) full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
j: nat
s_x_j: state (IM (` x))
IHl: equivocator_state_project (finite_trace_last full_replay_state litems (` x)) j = Some s_x_j
aitems: list transition_item
afinal: composite_state (equivocator_IM IM)
Hj, Hltj: j < equivocator_state_n (full_replay_state (` x))j < equivocator_state_n (finite_trace_last full_replay_state litems (` x))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (free_composite_vlsm (equivocator_IM IM))∀ i : index, equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (free_composite_vlsm (equivocator_IM IM))∀ i : index, equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (free_composite_vlsm (equivocator_IM IM))
i: indexequivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
i: index
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (free_composite_vlsm (equivocator_IM IM))equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
i: index
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (free_composite_vlsm (equivocator_IM IM))match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) j) end = match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) j) endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
i: index
Heqv_descriptors: match eqv_descriptors i with | NewMachine _ => False | Existing i0 => is_Some (equivocator_state_project (full_replay_state i) i0) end
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (free_composite_vlsm (equivocator_IM IM))match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) j) end = match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) j) endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
i: index
ji: nat
Heqv_descriptors: is_Some (equivocator_state_project (full_replay_state i) ji)
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (free_composite_vlsm (equivocator_IM IM))default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
i: index
ji: nat
full_i_ji: state (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (free_composite_vlsm (equivocator_IM IM))default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
i: index
ji: nat
full_i_ji: state (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state (free_composite_vlsm (equivocator_IM IM))
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)by rewrite equivocator_state_project_replayed_initial_state_from_left, Hpr_ji. Qed. Definition replayed_trace_from full_replay_state is tr := replayed_initial_state_from full_replay_state is ++ pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
eqv_descriptors: equivocator_descriptors IM
i: index
ji: nat
full_i_ji: state (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i)) (equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is []) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is [])message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
tr': list transition_item
item: transition_itemfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is (tr' ++ [item])) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is (tr' ++ [item]))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is []) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is [])message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) []) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is [])message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ []) = lift_equivocators_sub_state_to full_replay_state isby apply replayed_initial_state_from_lift.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
tr': list transition_item
item: transition_itemfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is (tr' ++ [item])) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is (tr' ++ [item]))by rewrite map_app, app_assoc; cbn; rewrite !finite_trace_last_is_last. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
tr': list transition_item
item: transition_itemfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) (tr' ++ [item])) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is (tr' ++ [item]))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (composite_type (equivocator_IM IM))∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lst i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (composite_type (equivocator_IM IM))∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lst i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
Htr: tr = []∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) []) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) (tr' ++ [lst])) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
Htr: tr = []∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) []) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
Htr: tr = []∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ []) i) j = equivocator_state_project (full_replay_state i) jby apply equivocator_state_project_replayed_initial_state_from_left.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
Htr: tr = []∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) (tr' ++ [lst])) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) (tr' ++ [lst])) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state ((replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr') ++ map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [lst]) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state ((replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr') ++ [pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) lst]) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (destination (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) lst) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lift_equivocators_sub_state_to full_replay_state (destination lst) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]
i: index
j: nat
Hltj: j < equivocator_state_n (full_replay_state i)equivocator_state_project (lift_equivocators_sub_state_to full_replay_state (destination lst) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]
i: index
j: nat
Hltj: j < equivocator_state_n (full_replay_state i)equivocator_state_project match decide (sub_index_prop equivocating i) with | left e => equivocator_state_append (full_replay_state i) (destination lst (dexist i e)) | in_right => full_replay_state i end j = equivocator_state_project (full_replay_state i) jby rewrite equivocator_state_append_project_1. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]
i: index
j: nat
Hltj: j < equivocator_state_n (full_replay_state i)
s: sub_index_prop equivocating iequivocator_state_project (equivocator_state_append (full_replay_state i) (destination lst (dexist i s))) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (free_composite_vlsm (equivocator_IM IM))∀ i : index, equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (free_composite_vlsm (equivocator_IM IM))∀ i : index, equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (free_composite_vlsm (equivocator_IM IM))
i: indexequivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
i: index
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (free_composite_vlsm (equivocator_IM IM))equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
i: index
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (free_composite_vlsm (equivocator_IM IM))match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) j) end = match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) j) endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
i: index
Heqv_descriptors: match eqv_descriptors i with | NewMachine _ => False | Existing i0 => is_Some (equivocator_state_project (full_replay_state i) i0) end
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (free_composite_vlsm (equivocator_IM IM))match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) j) end = match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) j) endmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
i: index
ji: nat
Heqv_descriptors: is_Some (equivocator_state_project (full_replay_state i) ji)
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (free_composite_vlsm (equivocator_IM IM))default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
i: index
ji: nat
full_i_ji: state (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (free_composite_vlsm (equivocator_IM IM))default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
i: index
ji: nat
full_i_ji: state (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (free_composite_vlsm (equivocator_IM IM))
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)by rewrite equivocator_state_project_replayed_trace_from_left, Hpr_ji. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
i: index
ji: nat
full_i_ji: state (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) i)) (equivocator_state_project (finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (composite_type (equivocator_IM IM))equivocators_total_state_project IM lst = equivocators_total_state_project IM full_replay_statemessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (composite_type (equivocator_IM IM))equivocators_total_state_project IM lst = equivocators_total_state_project IM full_replay_statemessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (composite_type (equivocator_IM IM))∀ x : index, equivocators_total_state_project IM lst x = equivocators_total_state_project IM full_replay_state xmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (composite_type (equivocator_IM IM))
i: indexequivocators_total_state_project IM lst i = equivocators_total_state_project IM full_replay_state iby apply zero_descriptor_not_equivocating. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state (composite_type (equivocator_IM IM))
i: indexnot_equivocating_equivocator_descriptors IM (zero_descriptor IM) full_replay_statemessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project IM eqv_descriptors (replayed_trace_from full_replay_state is tr) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project IM eqv_descriptors (replayed_trace_from full_replay_state is tr) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' (replayed_initial_state_from full_replay_state is) = Some (preX, eqv_descriptors) ∧ [] = preX ++ sufXmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors) ∧ equivocators_trace_project IM eqv_descriptors (replayed_initial_state_from full_replay_state is) = Some ([], eqv_descriptors) ∧ [] = [] ++ []message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: equivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)equivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) (tr ++ [x])) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: equivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) (tr ++ [x])) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: equivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr ++ map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: equivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' (map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr) = Some (preX, eqv_descriptors) ∧ [] = preX ++ sufXmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: equivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some ([], eqv_descriptors) ∧ equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr) = Some ([], eqv_descriptors) ∧ [] = [] ++ []message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: equivocators_trace_project IM eqv_descriptors (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project IM eqv_descriptors (map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
l: label FreeSubE
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project IM eqv_descriptors (map (pre_VLSM_embedding_transition_item_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [{| l := l; input := input; destination := destination; output := output |}]) = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
l: label FreeSubE
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_statematch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := l; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
sub_i: sub_index equivocating
li: label (sub_IM (equivocator_IM IM) equivocating sub_i)
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_statematch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT sub_i li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
sub_i: sub_index equivocating
li: label (sub_IM (equivocator_IM IM) equivocating sub_i)
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dexist i Himatch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT sub_i li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_statematch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)match equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: match eqv_descriptors i with | NewMachine _ => False | Existing i0 => is_Some (equivocator_state_project (full_replay_state i) i0) endmatch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
Heqv_descriptors: is_Some (equivocator_state_project (full_replay_state i) n)match equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_nmatch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)match equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match equivocator_vlsm_transition_item_project (IM (projT1 (l (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |})))) (ProjectionTraces.composite_transition_item_projection (equivocator_IM IM) (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |})) (eqv_descriptors (projT1 (l (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |})))) with | Some (Some item', deqv') => Some (Some {| l := existT (projT1 (l (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}))) (l item'); input := VLSM.input (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}); destination := equivocators_state_project IM eqv_descriptors (VLSM.destination (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |})); output := VLSM.output (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}) |}, equivocator_descriptors_update IM eqv_descriptors (projT1 (l (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}))) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors (projT1 (l (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |}))) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match equivocator_vlsm_transition_item_project (IM i) (ProjectionTraces.composite_transition_item_projection (equivocator_IM IM) (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |})) (eqv_descriptors i) with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match equivocator_vlsm_transition_item_project (IM i) (ProjectionTraces.composite_transition_item_projection (equivocator_IM IM) (pre_VLSM_embedding_transition_item_project (composite_type (sub_IM (equivocator_IM IM) equivocating)) (composite_type (equivocator_IM IM)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dexist i Hi) li; input := input; destination := destination; output := output |})) (Existing n) with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match match equivocator_state_project (lift_equivocators_sub_state_to full_replay_state destination i) n with | Some sj => match eq_rect_r (λ n : index, EquivocatorLabel (IM n)) (equivocator_state_append_label (IM i) (full_replay_state i) li) eq_refl with | Spawn sn => if decide (n = equivocator_state_last (lift_equivocators_sub_state_to full_replay_state destination i)) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i0 lx => if decide (i0 = n) then Some (Some {| l := lx; input := input; destination := sj; output := output |}, Existing i0) else Some (None, Existing n) | ForkWith i0 lx => if decide (n = equivocator_state_last (lift_equivocators_sub_state_to full_replay_state destination i)) then Some (Some {| l := lx; input := input; destination := sj; output := output |}, Existing i0) else Some (None, Existing n) end | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)
lift_n: state (IM i)
Hlt_n: n < equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match match eq_rect_r (λ n : index, EquivocatorLabel (IM n)) (equivocator_state_append_label (IM i) (full_replay_state i) li) eq_refl with | Spawn sn => if decide (n = equivocator_state_last (lift_equivocators_sub_state_to full_replay_state destination i)) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i0 lx => if decide (i0 = n) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) | ForkWith i0 lx => if decide (n = equivocator_state_last (lift_equivocators_sub_state_to full_replay_state destination i)) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) end with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)
lift_n: state (IM i)
Hlt_n: n < equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match match eq_rect_r (λ n : index, EquivocatorLabel (IM n)) (equivocator_state_append_label (IM i) (full_replay_state i) li) eq_refl with | Spawn sn => if decide (n = equivocator_state_last (equivocator_state_append (full_replay_state i) (destination (dexist i Hi)))) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i0 lx => if decide (i0 = n) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) | ForkWith i0 lx => if decide (n = equivocator_state_last (equivocator_state_append (full_replay_state i) (destination (dexist i Hi)))) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) end with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)by destruct li as [sn_d | id li | id li]; simpl ; rewrite !decide_False by lia ; equivocator_state_update_simpl. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (free_composite_vlsm (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
input: option message
destination: state FreeSubE
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors IM
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: state (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)
lift_n: state (IM i)
Hlt_n: n < equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match match eq_rect_r (λ n : index, EquivocatorLabel (IM n)) (equivocator_state_append_label (IM i) (full_replay_state i) li) eq_refl with | Spawn sn => if decide (n = equivocator_state_last (destination (dexist i Hi)) + equivocator_state_n (full_replay_state i)) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i0 lx => if decide (i0 = n) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) | ForkWith i0 lx => if decide (n = equivocator_state_last (destination (dexist i Hi)) + equivocator_state_n (full_replay_state i)) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) end with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_itemequivocators_total_trace_project IM (replayed_trace_from full_replay_state is tr) = []message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_itemequivocators_total_trace_project IM (replayed_trace_from full_replay_state is tr) = []message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_itemfrom_option fst [] (equivocators_trace_project IM (zero_descriptor IM) (replayed_trace_from full_replay_state is tr)) = []by apply zero_descriptor_not_equivocating. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: state (composite_type (equivocator_IM IM))
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list transition_itemnot_equivocating_equivocator_descriptors IM (zero_descriptor IM) full_replay_statemessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
l: composite_label (sub_IM (equivocator_IM IM) equivocating)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, om)composite_valid (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
l: composite_label (sub_IM (equivocator_IM IM) equivocating)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, om)composite_valid (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
sub_i: sub_index equivocating
li: label (sub_IM (equivocator_IM IM) equivocating sub_i)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT sub_i li) (s, om)composite_valid (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT sub_i li)) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
sub_i: sub_index equivocating
li: label (sub_IM (equivocator_IM IM) equivocating sub_i)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT sub_i li) (s, om)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dexist i Hicomposite_valid (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT sub_i li)) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)composite_valid (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT (dexist i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_valid (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om)composite_valid (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT (dexist i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om)by rewrite (lift_equivocators_sub_state_to_sub _ _ _ Hi). Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_valid (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om)equivocator_valid (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (lift_equivocators_sub_state_to full_replay_state s i, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
l: composite_label (sub_IM (equivocator_IM IM) equivocating)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
s': composite_state (sub_IM (equivocator_IM IM) equivocating)
om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, om)
Ht: composite_transition (sub_IM (equivocator_IM IM) equivocating) l (s, om) = (s', om')composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
l: composite_label (sub_IM (equivocator_IM IM) equivocating)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
s': composite_state (sub_IM (equivocator_IM IM) equivocating)
om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, om)
Ht: composite_transition (sub_IM (equivocator_IM IM) equivocating) l (s, om) = (s', om')composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
sub_i: sub_index equivocating
li: label (sub_IM (equivocator_IM IM) equivocating sub_i)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
s': composite_state (sub_IM (equivocator_IM IM) equivocating)
om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT sub_i li) (s, om)
Ht: composite_transition (sub_IM (equivocator_IM IM) equivocating) (existT sub_i li) (s, om) = ( s', om')composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT sub_i li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
sub_i: sub_index equivocating
li: label (sub_IM (equivocator_IM IM) equivocating sub_i)
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
s': composite_state (sub_IM (equivocator_IM IM) equivocating)
om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT sub_i li) (s, om)
Ht: composite_transition (sub_IM (equivocator_IM IM) equivocating) (existT sub_i li) (s, om) = ( s', om')
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dexist i Hicomposite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT sub_i li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
s': composite_state (sub_IM (equivocator_IM IM) equivocating)
om': option message
Ht: composite_transition (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om) = (s', om')
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT (dexist i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
s': composite_state (sub_IM (equivocator_IM IM) equivocating)
om': option message
Ht: composite_transition (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om) = (s', om')
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) li (s (dexist i Hi), om) = (s' (dexist i Hi), om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) (s' (dexist i Hi)), om')composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT (dexist i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
s': composite_state (sub_IM (equivocator_IM IM) equivocating)
om': option message
Ht: (let (si', om') := equivocator_transition (IM i) li (s (dexist i Hi), om) in (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) si', om')) = ( s', om')
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) li (s (dexist i Hi), om) = (s' (dexist i Hi), om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) (s' (dexist i Hi)), om')composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT (dexist i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
s': composite_state (sub_IM (equivocator_IM IM) equivocating)
om': option message
_si': equivocator_state (IM i)
_om': option message
Ht: (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si', _om') = ( s', om')
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: (_si', _om') = (s' (dexist i Hi), om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) (s' (dexist i Hi)), om')composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT (dexist i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: (_si', _om') = (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si' (dexist i Hi), _om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si' (dexist i Hi)), _om')composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT (dexist i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si'), _om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: (_si', _om') = (_si', _om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT (dexist i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si'), _om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')composite_transition (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state (existT (dexist i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si'), _om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')(let (si', om') := equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (lift_equivocators_sub_state_to full_replay_state s i, om) in (state_update (equivocator_IM IM) (lift_equivocators_sub_state_to full_replay_state s) i si', om')) = (lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si'), _om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')(let (si', om') := equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) in (state_update (equivocator_IM IM) (lift_equivocators_sub_state_to full_replay_state s) i si', om')) = (lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si'), _om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')(state_update (equivocator_IM IM) (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si'), _om') = (lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si'), _om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: indexstate_update (equivocator_IM IM) (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si') j = lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si') jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
j: index
Hi: sub_index_prop equivocating j
li: label (sub_IM (equivocator_IM IM) equivocating (dexist j Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM j)
_om': option message
Hlift: equivocator_transition (IM j) (equivocator_state_append_label (IM j) (full_replay_state j) li) (equivocator_state_append (full_replay_state j) (s (dexist j Hi)), om) = (equivocator_state_append (full_replay_state j) _si', _om')
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist j Hi) li) ( s, om)equivocator_state_append (full_replay_state j) _si' = lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist j Hi) _si') jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ jlift_equivocators_sub_state_to full_replay_state s j = lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si') jby rewrite (lift_equivocators_sub_state_to_sub _ _ _ Hi), state_update_eq.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
j: index
Hi: sub_index_prop equivocating j
li: label (sub_IM (equivocator_IM IM) equivocating (dexist j Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM j)
_om': option message
Hlift: equivocator_transition (IM j) (equivocator_state_append_label (IM j) (full_replay_state j) li) (equivocator_state_append (full_replay_state j) (s (dexist j Hi)), om) = (equivocator_state_append (full_replay_state j) _si', _om')
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist j Hi) li) ( s, om)equivocator_state_append (full_replay_state j) _si' = lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist j Hi) _si') jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ jlift_equivocators_sub_state_to full_replay_state s j = lift_equivocators_sub_state_to full_replay_state (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si') jmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ jmatch decide (sub_index_prop equivocating j) with | left e => equivocator_state_append (full_replay_state j) (s (dexist j e)) | in_right => full_replay_state j end = match decide (sub_index_prop equivocating j) with | left e => equivocator_state_append (full_replay_state j) (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si' (dexist j e)) | in_right => full_replay_state j endby rewrite state_update_neq; [| inversion 1]. Qed. Section sec_preloaded_constrained_projection.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
i: index
Hi: sub_index_prop equivocating i
li: label (sub_IM (equivocator_IM IM) equivocating (dexist i Hi))
s: composite_state (sub_IM (equivocator_IM IM) equivocating)
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) (existT (dexist i Hi) li) ( s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dexist i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ j
s0: sub_index_prop equivocating jequivocator_state_append (full_replay_state j) (s (dexist j s0)) = equivocator_state_append (full_replay_state j) (state_update (sub_IM (equivocator_IM IM) equivocating) s (dexist i Hi) _si' (dexist j s0))
By replaying a valid_trace on top of a valid_state we obtain a
valid_trace. We derive this as a more general VLSM_weak_embedding
result for a class of VLSM parameterized by a constraint having "good"
properties and preloaded with a seed, to allow deriving the
VLSM_weak_embedding result for both the free composition of equivocators
and for the no message equivocation composition of equivocators (free, or with
an additional fixed-set state-equivocation constraint).
Context (constraint : composite_label (equivocator_IM IM) -> composite_state (equivocator_IM IM) * option message -> Prop) (seed1 : message -> Prop) (SeededCE := preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1) (Hconstraint_none : forall i ns s, i ∈ equivocating -> valid_state_prop SeededCE s -> constraint (existT i (Spawn ns)) (s, None)) (Hseed : forall m, seed m -> valid_message_prop SeededCE m) (full_replay_state : composite_state (equivocator_IM IM)) (Hfull_replay_state : valid_state_prop SeededCE full_replay_state) (Hsubsumption : forall l s om, input_valid SeededXE l (s, om) -> valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) -> constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) .message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) isfinite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is(∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)) → finite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)by intros Hplan; apply Hplan.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is(∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)) → finite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is∀ l : list (sub_index equivocating), l ⊆ enum (sub_index equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
l: list (sub_index equivocating)l ⊆ enum (sub_index equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hincl: [] ⊆ enum (sub_index equivocating)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) [])message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: l ⊆ enum (sub_index equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))by constructor.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
Hincl: [] ⊆ enum (sub_index equivocating)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) [])message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: l ⊆ enum (sub_index equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l ++ map (initial_new_machine_transition_item is) [x])message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l) ∧ finite_valid_plan_from SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (map (initial_new_machine_transition_item is) [x])message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_plan_from SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (map (initial_new_machine_transition_item is) [x])message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)input_valid_transition SeededCE (existT (` x) (Spawn (equivocator_state_zero (is x)))) ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2, None) (state_update (equivocator_IM IM) (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (` x) (equivocator_state_extend ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (` x), None).1 (equivocator_state_zero (is x))), None)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)input_valid_transition SeededCE (existT (` x) (Spawn (equivocator_state_zero (is x)))) ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2, None) (state_update (equivocator_IM IM) (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (` x) (equivocator_state_extend ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (` x)) (equivocator_state_zero (is x))), None)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)option_valid_message_prop SeededCE Nonemessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)initial_state_prop (equivocator_state_zero (is x))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)constraint (existT (` x) (Spawn (equivocator_state_zero (is x)))) ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2, None)by apply apply_plan_last_valid.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2by apply option_valid_message_None.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)option_valid_message_prop SeededCE Noneby apply His.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)initial_state_prop (equivocator_state_zero (is x))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)constraint (existT (` x) (Spawn (equivocator_state_zero (is x)))) ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2, None)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)` x ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2by destruct_dec_sig x i Hi Hx; subst.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)` x ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
IHl: valid_state_prop SeededCE (finite_trace_last full_replay_state (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).1)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
lst: state SeededCE
Heqlst: lst = finite_trace_last full_replay_state (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).1
IHl: valid_state_prop SeededCE lstvalid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2by subst; apply apply_plan_last. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
His: composite_initial_state_prop (sub_IM (equivocator_IM IM) equivocating) is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: l ++ [x] ⊆ enum (sub_index equivocating)
lst: state SeededCE
Heqlst: lst = finite_trace_last full_replay_state (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).1
IHl: valid_state_prop SeededCE lstlst = (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)∀ m : message, initial_message_prop m → valid_message_prop SeededCE mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)∀ m : message, initial_message_prop m → valid_message_prop SeededCE mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hinit: initial_message_prop mvalid_message_prop SeededCE mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hseeded: seed mvalid_message_prop SeededCE mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hinit: initial_message_prop mvalid_message_prop SeededCE mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hinit: initial_message_prop minitial_message_prop mby left; exists i.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
i: index
Hi: bool_decide (sub_index_prop equivocating i)
Hinit: ∃ mi : initial_message (sub_IM (equivocator_IM IM) equivocating (i ↾ Hi)), ` mi = minitial_message_prop mby apply Hseed. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hseeded: seed mvalid_message_prop SeededCE mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)VLSM_weak_embedding SeededXE SeededCE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)VLSM_weak_embedding SeededXE SeededCE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
om: option messageinput_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → option_valid_message_prop SeededCE om → valid (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
om: option message
s': state SeededXE
om': option messageinput_valid_transition SeededXE l (s, om) (s', om') → transition (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
s: state SeededXEinitial_state_prop s → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
m: messageinput_valid SeededXE l (s, Some m) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → initial_message_prop m → valid_message_prop SeededCE mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
om: option messageinput_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → option_valid_message_prop SeededCE om → valid (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omvalid (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omconstraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)by apply lift_equivocators_sub_valid, Hv.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omvalid (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)by apply Hsubsumption.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omconstraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)by intros Ht; apply lift_equivocators_sub_transition; apply Ht.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
om: option message
s': state SeededXE
om': option messageinput_valid_transition SeededXE l (s, om) (s', om') → transition (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
s: state SeededXEinitial_state_prop s → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)by apply finite_valid_trace_last_pstate, replayed_initial_state_from_valid.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
s: state SeededXE
H2: initial_state_prop svalid_state_prop SeededCE (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state s))by intros; apply lift_initial_message. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label SeededXE
s: state SeededXE
m: messageinput_valid SeededXE l (s, Some m) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → initial_message_prop m → valid_message_prop SeededCE mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededCE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededCE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace_from SeededXE is tr
His: initial_state_prop isfinite_valid_trace_from SeededCE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace_from SeededXE is tr
His: initial_state_prop isfinite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is) ∧ finite_valid_trace_from SeededCE (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is)) (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace_from SeededXE is tr
His: initial_state_prop isfinite_valid_trace_from SeededCE (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is)) (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr)by apply (VLSM_weak_embedding_finite_valid_trace_from lift_equivocators_sub_weak_projection). Qed. End sec_preloaded_constrained_projection.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
constraint: composite_label (equivocator_IM IM) → composite_state (equivocator_IM IM) * option message → Prop
seed1: message → Prop
SeededCE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : state (IM i)) (s : state SeededCE), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace_from SeededXE is tr
His: initial_state_prop isfinite_valid_trace_from SeededCE (lift_equivocators_sub_state_to full_replay_state is) (pre_VLSM_embedding_finite_trace_project FreeSubE FreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_stateVLSM_weak_embedding SeededXE (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_stateVLSM_weak_embedding SeededXE (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trXfinite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
H2: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) (s, None)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
H2: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
H2: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) ?full_replay_statemessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
H2: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to ?full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to ?full_replay_state l) (lift_equivocators_sub_state_to ?full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to ?full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to ?full_replay_state) (lift_equivocators_sub_state_to ?full_replay_state) trX)finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)done.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
H2: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) (s, None)by intros; apply initial_message_is_valid; right.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
H2: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
H2: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) ?full_replay_stateby apply preloaded_free_composite_vlsm_spec.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
H2: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)VLSM_incl_part (preloaded_vlsm FreeE (λ _ : message, True)) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))done.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
H2: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) s → free_constraint (equivocator_IM IM) (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint (equivocator_IM IM) (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)by apply constrained_preloaded_vlsm_incl_preloaded_with_all_messages. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
sX: state SeededXE
trX: list transition_item
HtrX: finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)VLSM_incl_part (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) (preloaded_vlsm_machine FreeE (λ _ : message, True))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_stateVLSM_weak_embedding (preloaded_with_all_messages_vlsm FreeSubE) (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_stateVLSM_weak_embedding (preloaded_with_all_messages_vlsm FreeSubE) (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
l: label (preloaded_with_all_messages_vlsm FreeSubE)
s: state (preloaded_with_all_messages_vlsm FreeSubE)
om: option messageinput_valid (preloaded_with_all_messages_vlsm FreeSubE) l (s, om) → valid_state_prop (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state s) → option_valid_message_prop (preloaded_with_all_messages_vlsm FreeE) om → valid (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
l: label (preloaded_with_all_messages_vlsm FreeSubE)
s: state (preloaded_with_all_messages_vlsm FreeSubE)
om: option message
s': state (preloaded_with_all_messages_vlsm FreeSubE)
om': option messageinput_valid_transition (preloaded_with_all_messages_vlsm FreeSubE) l (s, om) (s', om') → transition (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
s: state (preloaded_with_all_messages_vlsm FreeSubE)initial_state_prop s → valid_state_prop (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state s)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
l: label (preloaded_with_all_messages_vlsm FreeSubE)
s: state (preloaded_with_all_messages_vlsm FreeSubE)
m: messageinput_valid (preloaded_with_all_messages_vlsm FreeSubE) l (s, Some m) → valid_state_prop (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state s) → initial_message_prop m → valid_message_prop (preloaded_with_all_messages_vlsm FreeE) mby intros; apply lift_equivocators_sub_valid, Hv.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
l: label (preloaded_with_all_messages_vlsm FreeSubE)
s: state (preloaded_with_all_messages_vlsm FreeSubE)
om: option messageinput_valid (preloaded_with_all_messages_vlsm FreeSubE) l (s, om) → valid_state_prop (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state s) → option_valid_message_prop (preloaded_with_all_messages_vlsm FreeE) om → valid (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)by intro Ht; apply lift_equivocators_sub_transition; apply Ht.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
l: label (preloaded_with_all_messages_vlsm FreeSubE)
s: state (preloaded_with_all_messages_vlsm FreeSubE)
om: option message
s': state (preloaded_with_all_messages_vlsm FreeSubE)
om': option messageinput_valid_transition (preloaded_with_all_messages_vlsm FreeSubE) l (s, om) (s', om') → transition (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
s: state (preloaded_with_all_messages_vlsm FreeSubE)initial_state_prop s → valid_state_prop (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state s)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
s: state (preloaded_with_all_messages_vlsm FreeSubE)
H2: initial_state_prop svalid_state_prop (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state s)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
s: state (preloaded_with_all_messages_vlsm FreeSubE)
H2: initial_state_prop svalid_state_prop (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state s))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
s: state (preloaded_with_all_messages_vlsm FreeSubE)
H2: initial_state_prop sfinite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) full_replay_state (replayed_initial_state_from full_replay_state s)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
s: state (preloaded_with_all_messages_vlsm FreeSubE)
H2: initial_state_prop sfinite_valid_trace_from {| vlsm_type := FreeE; vlsm_machine := {| vlsm_type := preloaded_vlsm (free_composite_vlsm (equivocator_IM IM)) (λ _ : message, True); vlsm_machine := preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True) |} |} full_replay_state (replayed_initial_state_from full_replay_state s)by eapply VLSM_incl_valid_state; [apply preloaded_free_composite_vlsm_spec |].message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
s: state (preloaded_with_all_messages_vlsm FreeSubE)
H2: initial_state_prop svalid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True)) full_replay_stateby intros; apply any_message_is_valid_in_preloaded. Qed. Section sec_seeded_no_equiv. Context (SeededAllXE : VLSM message := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint _) seed) (full_replay_state : composite_state (equivocator_IM IM)) (Hfull_replay_state : valid_state_prop SeededAllXE full_replay_state) .message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: constrained_state_prop FreeE full_replay_state
l: label (preloaded_with_all_messages_vlsm FreeSubE)
s: state (preloaded_with_all_messages_vlsm FreeSubE)
m: messageinput_valid (preloaded_with_all_messages_vlsm FreeSubE) l (s, Some m) → valid_state_prop (preloaded_with_all_messages_vlsm FreeE) (lift_equivocators_sub_state_to full_replay_state s) → initial_message_prop m → valid_message_prop (preloaded_with_all_messages_vlsm FreeE) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label SeededXE
s: state SeededXE
om: option message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, om)no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label SeededXE
s: state SeededXE
om: option message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, om)composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label SeededXE
s: state SeededXE
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, Some m)composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, Some m)composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Propcomposite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
Hc1: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
Hsub_sent: composite_has_been_sent (sub_IM (equivocator_IM IM) equivocating) (s, Some m).1 m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
sub_i: sub_index equivocating
Hsent: has_been_sent (sub_IM (equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)composite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
sub_i: sub_index equivocating
Hsent: has_been_sent (sub_IM (equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dexist i Hicomposite_no_equivocations_except_from (equivocator_IM IM) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
sub_i: sub_index equivocating
Hsent: has_been_sent (sub_IM (equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dexist i Hicomposite_has_been_sent (equivocator_IM IM) (lift_equivocators_sub_state_to full_replay_state s, Some m).1 mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
sub_i: sub_index equivocating
Hsent: has_been_sent (sub_IM (equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dexist i Hihas_been_sent (equivocator_IM IM i) ((lift_equivocators_sub_state_to full_replay_state s, Some m).1 i) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
sub_i: sub_index equivocating
Hsent: has_been_sent (sub_IM (equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dexist i Hiequivocator_has_been_sent (IM i) (lift_equivocators_sub_state_to full_replay_state s i) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
sub_i: sub_index equivocating
Hsent: has_been_sent (sub_IM (equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dexist i Hiequivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dexist i Hi))) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
i: index
Hi: sub_index_prop equivocating i
Hsent: has_been_sent (sub_IM (equivocator_IM IM) equivocating (dexist i Hi)) ((s, Some m).1 (dexist i Hi)) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)equivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dexist i Hi))) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
i: index
Hi: sub_index_prop equivocating i
Hsent: has_been_sent (equivocator_IM IM (` (dexist i Hi))) ((s, Some m).1 (dexist i Hi)) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)equivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dexist i Hi))) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dexist i Hi)) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)equivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dexist i Hi))) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dexist i Hi)) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)constrained_state_prop (equivocator_vlsm (IM i)) (full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dexist i Hi)) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)constrained_state_prop (equivocator_vlsm (IM i)) (s (dexist i Hi))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dexist i Hi)) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)constrained_state_prop (equivocator_vlsm (IM i)) (full_replay_state i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dexist i Hi)) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_stateby apply preloaded_with_all_messages_free_composite_vlsm_spec.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dexist i Hi)) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)VLSM_incl_part (preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM))) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (λ _ : message, True))by apply (Hs_pr (dexist i Hi) Hs). Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop {| vlsm_type := composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed; vlsm_machine := preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM)) |} full_replay_state
l: label SeededXE
s: state SeededXE
m: message
constraint:= no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) seed: composite_label (sub_IM (equivocator_IM IM) equivocating) → composite_state (sub_IM (equivocator_IM IM) equivocating) * option message → Prop
Hs: valid_state_prop {| vlsm_type := preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed; vlsm_machine := preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) |} s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dexist i Hi)) m
Hfull_replay_state_pr: ∀ i : index, constrained_state_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) full_replay_state → constrained_state_prop (equivocator_IM IM i) (full_replay_state i)
Hincl: VLSM_incl (preloaded_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) seed) (preloaded_with_all_messages_vlsm (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint))
Hs_pr: ∀ i : sub_index equivocating, constrained_state_prop (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) constraint) s → constrained_state_prop (sub_IM (equivocator_IM IM) equivocating i) (s i)constrained_state_prop (equivocator_vlsm (IM i)) (s (dexist i Hi))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ m : message, seed m → valid_message_prop SeededAllXE mby intros m Hm; apply initial_message_is_valid; right. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ m : message, seed m → valid_message_prop SeededAllXE m
Here we specialize the generic lift_equivocators_sub_weak_projection
result for the equivocators_no_equivocations_constraint.
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_stateVLSM_weak_embedding SeededXE SeededAllXE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_stateVLSM_weak_embedding SeededXE SeededAllXE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ (sX : state SeededXE) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from SeededAllXE (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_embedding_finite_trace_project SeededXE SeededAllXE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
m: message
H2: seed mvalid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) mmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label SeededXE
s: state SeededXE
om: option message
H2: input_valid SeededXE l (s, om)
H3: valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s)no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)by apply sent_are_valid.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
m: message
H2: seed mvalid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) mby apply SeededNoEquiv_subsumption. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label SeededXE
s: state SeededXE
om: option message
H2: input_valid SeededXE l (s, om)
H3: valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s)no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ (i : index) (ns : state (IM i)) (s : state (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed)), i ∈ equivocating → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) s → no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (existT i (Spawn ns)) ( s, None)) → (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state (sub_IM (equivocator_IM IM) equivocating)) (tr : list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))), finite_valid_trace SeededXE is tr → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)finite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ m : message, seed m → valid_message_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) m) → ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state (sub_IM (equivocator_IM IM) equivocating)) (tr : list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))), finite_valid_trace SeededXE is tr → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)finite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is tr
Hvalid: ∀ full_replay_state : composite_state (equivocator_IM IM), valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) full_replay_state → (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state (sub_IM (equivocator_IM IM) equivocating)) (tr : list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))), finite_valid_trace SeededXE is tr → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)finite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state (sub_IM (equivocator_IM IM) equivocating)) (tr : list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))), finite_valid_trace SeededXE is tr → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)finite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)by intros; apply SeededNoEquiv_subsumption. Qed. End sec_seeded_no_equiv. End sec_all_equivocating.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
H1: ∀ i : index, HasBeenReceivedCapability (IM i)
seed: message → Prop
equivocating: list index
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeSubE:= free_composite_vlsm (sub_IM (equivocator_IM IM) equivocating): VLSM message
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM equivocating seed: VLSM message
SeededAllXE:= preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed: VLSM message
full_replay_state: composite_state (equivocator_IM IM)
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state (sub_IM (equivocator_IM IM) equivocating)
tr: list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state (sub_IM (equivocator_IM IM) equivocating)) (tr : list (composite_transition_item (sub_IM (equivocator_IM IM) equivocating))), finite_valid_trace SeededXE is tr → finite_valid_trace_from (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)∀ (l : label SeededXE) (s : state SeededXE) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (preloaded_vlsm (composite_vlsm (equivocator_IM IM) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_preloaded (equivocator_IM IM) (free_constraint (equivocator_IM IM)) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)