From stdpp Require Import prelude finite. From VLSM.Lib Require Import Preamble ListExtras StdppListSet. From VLSM.Core Require Import VLSM VLSMProjections Composition Equivocation. From VLSM.Core Require Import Equivocation.NoEquivocation Equivocation.FullNode. From VLSM.Core Require Import Equivocation.FixedSetEquivocation. From VLSM.Core Require Import SubProjectionTraces ProjectionTraces. From VLSM.Core Require Import Equivocators.Equivocators Equivocators.EquivocatorsProjections.From VLSM.Core Require Import Equivocators.EquivocatorsComposition. From VLSM.Core Require Import Equivocators.EquivocatorsCompositionProjections.
Section sec_equivocators_fixed_equivocations_vlsm. Context {message : Type} `{finite.Finite index} (IM : index -> VLSM message) `{forall i : index, HasBeenSentCapability (IM i)} (equivocator_IM := equivocator_IM IM) (equivocating : set index) .
Definition of fixed-equivocation for states of the composition of equivocators.
Definition state_has_fixed_equivocation (s : composite_state equivocator_IM) : Prop := equivocating_indices IM (enum index) s ⊆ equivocating. Definition equivocators_fixed_equivocations_constraint (l : composite_label equivocator_IM) (som : composite_state equivocator_IM * option message) (som' := composite_transition equivocator_IM l som) : Prop := equivocators_no_equivocations_constraint IM l som /\ state_has_fixed_equivocation (fst som').
If the starting state_has_fixed_equivocation and the transition is made
on an equivocating index, then the resulting state_has_fixed_equivocation.
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: projT1 l ∈ equivocatingstate_has_fixed_equivocation s'message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: projT1 l ∈ equivocatingstate_has_fixed_equivocation s'message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: projT1 l ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM (enum index) s'i ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: projT1 l ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM (enum index) s'
n: i ≠ projT1 li ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
x: index
l: EquivocatorLabel (IM x)
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: (let (si', om') := equivocator_transition (IM x) l (s x, om) in (state_update equivocator_IM s x si', om')) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM (enum index) s'
n: i ≠ xi ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
x: index
l: EquivocatorLabel (IM x)
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
e: equivocator_state (IM x)
o: option message
Ht: (state_update equivocator_IM s x e, o) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM (enum index) s'
n: i ≠ xi ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
x: index
l: EquivocatorLabel (IM x)
s: composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM (enum index) (state_update equivocator_IM s x e)
n: i ≠ xi ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
x: index
l: EquivocatorLabel (IM x)
s: composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s x e i)
n: i ≠ xi ∈ equivocatingby apply Hs, elem_of_list_filter; split; [| apply elem_of_enum]. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
x: index
l: EquivocatorLabel (IM x)
s: composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: is_equivocating_state (IM i) (s i)
n: i ≠ xi ∈ equivocating
If the starting state_has_fixed_equivocation and the transition is made
on the original copy, then the resulting state_has_fixed_equivocation.
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 listate_has_fixed_equivocation s'message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 listate_has_fixed_equivocation s'message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: i ∈ equivocating_indices IM (enum index) s'i ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: i ∈ equivocating_indices IM (enum index) s'i ∈ equivocating_indices IM (enum index) smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)i ∈ equivocating_indices IM (enum index) smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i) ∧ i ∈ enum indexmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (s i, om) in (state_update equivocator_IM s i si', om')) = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
eqv: index
leqv: label (equivocator_IM eqv)
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: (let (si', om') := equivocator_transition (IM eqv) leqv (s eqv, om) in (state_update equivocator_IM s eqv si', om')) = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
eqv: index
leqv: label (equivocator_IM eqv)
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
si': equivocator_state (IM eqv)
_om': option message
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', _om')
Ht: (state_update equivocator_IM s eqv si', _om') = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
eqv: index
leqv: label (equivocator_IM eqv)
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
si': equivocator_state (IM eqv)
_om': option message
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', _om')
Ht: (state_update equivocator_IM s eqv si', _om') = (s', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)
H2: state_update equivocator_IM s eqv si' = s'
H3: _om' = om'is_equivocating_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
eqv: index
leqv: label (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Ht: (state_update equivocator_IM s eqv si', om') = (state_update equivocator_IM s eqv si', om')
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s eqv si' i)is_equivocating_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
eqv: index
leqv: label (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s eqv si' i)is_equivocating_state (IM i) (s i)by apply (zero_descriptor_transition_reflects_equivocating_state (IM eqv) _ _ _ _ _ Hti _ Hzero Hi). Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
eqv: index
leqv: label (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: label (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
Hi: is_equivocating_state (IM eqv) si'is_equivocating_state (IM eqv) (s eqv)
If a future state has fixed equivocation, then so must the current state.
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s1, s2: composite_state equivocator_IM
Hfutures: in_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s1 s2state_has_fixed_equivocation s2 → state_has_fixed_equivocation s1message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s1, s2: composite_state equivocator_IM
Hfutures: in_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s1 s2state_has_fixed_equivocation s2 → state_has_fixed_equivocation s1message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s1, s2: composite_state equivocator_IM
tr: list transition_item
Htr: finite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s1 s2 trstate_has_fixed_equivocation s2 → state_has_fixed_equivocation s1message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
tl: list transition_item
Htr: finite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
iom, oom: option message
l: label (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
Ht: input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
IHHtr: state_has_fixed_equivocation f → state_has_fixed_equivocation sstate_has_fixed_equivocation f → state_has_fixed_equivocation s'message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
tl: list transition_item
Htr: finite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
iom, oom: option message
l: label (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
Ht: input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
IHHtr: state_has_fixed_equivocation f → state_has_fixed_equivocation s
Hf: state_has_fixed_equivocation fstate_has_fixed_equivocation s'message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
tl: list transition_item
Htr: finite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
iom, oom: option message
l: label (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
Ht: input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
IHHtr: state_has_fixed_equivocation s
Hf: state_has_fixed_equivocation fstate_has_fixed_equivocation s'message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
tl: list transition_item
Htr: finite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
iom, oom: option message
l: label (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
Ht: input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
Hf: state_has_fixed_equivocation fstate_has_fixed_equivocation s → state_has_fixed_equivocation s'message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
tl: list transition_item
Htr: finite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
iom, oom: option message
l: label (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
Ht: input_valid_transition (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
Hf: state_has_fixed_equivocation fequivocating_indices IM (enum index) s' ⊆ equivocating_indices IM (enum index) smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
tl: list transition_item
Htr: finite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
iom, oom: option message
l: label (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
Ht: transition l (s', iom) = (s, oom)
Hf: state_has_fixed_equivocation fequivocating_indices IM (enum index) s' ⊆ equivocating_indices IM (enum index) sby rapply @equivocators_transition_preserves_equivocating_indices. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
tl: list transition_item
Htr: finite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
iom, oom: option message
l: label (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
Hf: state_has_fixed_equivocation ftransition l (s', iom) = (s, oom) → equivocating_indices IM (enum index) s' ⊆ equivocating_indices IM (enum index) s
Composition of equivocators with no message equivocation and a
fixed set of machines allowed to state-equivocate.
Definition equivocators_fixed_equivocations_vlsm : VLSM message := composite_vlsm equivocator_IM equivocators_fixed_equivocations_constraint.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm s
i: index
Hi: i ∉ equivocatingis_singleton_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm s
i: index
Hi: i ∉ equivocatingis_singleton_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
His: initial_state_prop is
i: index
Hi: i ∉ equivocatingis_singleton_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
i: index
Hi: i ∉ equivocating
H1: is_singleton_state (IM i) (is i)is_singleton_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state equivocators_fixed_equivocations_vlsm
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state equivocators_fixed_equivocations_vlsm
iom, oom: option message
l: label equivocators_fixed_equivocations_vlsm
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
i: index
Hi: i ∉ equivocating
H1: is_singleton_state (IM i) (s' i)
IHHtr: is_singleton_state (IM i) (s i) → is_singleton_state (IM i) (f i)is_singleton_state (IM i) (f i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state equivocators_fixed_equivocations_vlsm
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state equivocators_fixed_equivocations_vlsm
iom, oom: option message
l: label equivocators_fixed_equivocations_vlsm
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
i: index
Hi: i ∉ equivocating
H1: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state equivocators_fixed_equivocations_vlsm
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state equivocators_fixed_equivocations_vlsm
iom, oom: option message
l: label equivocators_fixed_equivocations_vlsm
Hfixed: state_has_fixed_equivocation (composite_transition equivocator_IM l (s', iom)).1
Ht: transition l (s', iom) = (s, oom)
i: index
Hi: i ∉ equivocating
H1: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': composite_state equivocator_IM
iom, oom: option message
l: composite_label equivocator_IM
Hfixed: state_has_fixed_equivocation s
i: index
Hi: i ∉ equivocating
H1: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': composite_state equivocator_IM
iom, oom: option message
l: composite_label equivocator_IM
Hfixed: state_has_fixed_equivocation s
i: index
Hi: i ∉ equivocating
H1: is_singleton_state (IM i) (s' i)
n: equivocator_state_n (s i) ≠ 1is_singleton_state (IM i) (s i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': composite_state equivocator_IM
iom, oom: option message
l: composite_label equivocator_IM
Hfixed: state_has_fixed_equivocation s
i: index
Hi: i ∉ equivocating
H1: is_singleton_state (IM i) (s' i)
n: equivocator_state_n (s i) ≠ 1i ∈ equivocatingby apply elem_of_list_filter; split; [| apply elem_of_enum]. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': composite_state equivocator_IM
iom, oom: option message
l: composite_label equivocator_IM
Hfixed: state_has_fixed_equivocation s
i: index
Hi: i ∉ equivocating
H1: is_singleton_state (IM i) (s' i)
n: equivocator_state_n (s i) ≠ 1i ∈ equivocating_indices IM (enum index) smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm sstate_has_fixed_equivocation smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm sstate_has_fixed_equivocation smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
Hs: ∃ (is : state equivocators_fixed_equivocations_vlsm) (tr : list transition_item), finite_valid_trace_init_to equivocators_fixed_equivocations_vlsm is s trstate_has_fixed_equivocation smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop isstate_has_fixed_equivocation smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop isstate_has_fixed_equivocation ismessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
His: state_has_fixed_equivocation isstate_has_fixed_equivocation smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop isstate_has_fixed_equivocation ismessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
Hin: i ∈ equivocating_indices IM (enum index) isi ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
Hin: is_equivocating_state (IM i) (is i) ∧ i ∈ enum indexi ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
His: is_equivocating_state (IM i) (is i)
Hin: i ∈ enum indexi ∈ equivocatingmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
His: ¬ is_singleton_state (IM i) (is i)
Hin: i ∈ enum indexi ∈ equivocatingby apply Hinit.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
Hin: i ∈ enum indexis_singleton_state (IM i) (is i)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
His: state_has_fixed_equivocation isstate_has_fixed_equivocation smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s: composite_state equivocator_IM
is: state equivocators_fixed_equivocations_vlsm
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
His: state_has_fixed_equivocation isstate_has_fixed_equivocation smessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state equivocators_fixed_equivocations_vlsm
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state equivocators_fixed_equivocations_vlsm
iom, oom: option message
l: label equivocators_fixed_equivocations_vlsm
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
His: state_has_fixed_equivocation s'
IHHtr: state_has_fixed_equivocation s → state_has_fixed_equivocation fstate_has_fixed_equivocation fmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state equivocators_fixed_equivocations_vlsm
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state equivocators_fixed_equivocations_vlsm
iom, oom: option message
l: label equivocators_fixed_equivocations_vlsm
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
His: state_has_fixed_equivocation s'state_has_fixed_equivocation sby setoid_rewrite Ht in Hv. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set index
s, f: state equivocators_fixed_equivocations_vlsm
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state equivocators_fixed_equivocations_vlsm
iom, oom: option message
l: label equivocators_fixed_equivocations_vlsm
Hv: state_has_fixed_equivocation (composite_transition equivocator_IM l (s', iom)).1
Ht: transition l (s', iom) = (s, oom)
His: state_has_fixed_equivocation s'state_has_fixed_equivocation s
Inclusion in the free composition.
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (free_composite_vlsm equivocator_IM)by apply VLSM_incl_constrained_vlsm. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (free_composite_vlsm equivocator_IM)
Inclusion into the preloaded free composition.
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))by apply constrained_preloaded_incl. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
Inclusion of preloaded machine into the preloaded free composition.
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set indexVLSM_incl (preloaded_with_all_messages_vlsm equivocators_fixed_equivocations_vlsm) (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))by apply basic_VLSM_incl_preloaded; [intro | inversion 1 | intro]. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set indexVLSM_incl (preloaded_with_all_messages_vlsm equivocators_fixed_equivocations_vlsm) (preloaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))
Inclusion in the composition of equivocators with no message equivocation
(no restriction on state equivocation).
message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (equivocators_no_equivocations_vlsm IM)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (equivocators_no_equivocations_vlsm IM)by intros l [s om] Hv; apply Hv. Qed. End sec_equivocators_fixed_equivocations_vlsm.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating: set indexinput_valid_constraint_subsumption (free_composite_vlsm (EquivocatorsComposition.equivocator_IM IM)) equivocators_fixed_equivocations_constraint (equivocators_no_equivocations_constraint IM)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating1, equivocating2: set index
Hincl: equivocating1 ⊆ equivocating2VLSM_incl (equivocators_fixed_equivocations_vlsm IM equivocating1) (equivocators_fixed_equivocations_vlsm IM equivocating2)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating1, equivocating2: set index
Hincl: equivocating1 ⊆ equivocating2VLSM_incl (equivocators_fixed_equivocations_vlsm IM equivocating1) (equivocators_fixed_equivocations_vlsm IM equivocating2)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating1, equivocating2: set index
Hincl: equivocating1 ⊆ equivocating2input_valid_constraint_subsumption (free_composite_vlsm (EquivocatorsComposition.equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM equivocating1) (equivocators_fixed_equivocations_constraint IM equivocating2)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating1, equivocating2: set index
Hincl: equivocating1 ⊆ equivocating2strong_constraint_subsumption (free_composite_vlsm (EquivocatorsComposition.equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM equivocating1) (equivocators_fixed_equivocations_constraint IM equivocating2)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating1, equivocating2: set index
Hincl: equivocating1 ⊆ equivocating2
l: label (free_composite_vlsm (EquivocatorsComposition.equivocator_IM IM))
_s: state (free_composite_vlsm (EquivocatorsComposition.equivocator_IM IM))
om: option message
Hmsg: equivocators_no_equivocations_constraint IM l (_s, om)
Hfixed: state_has_fixed_equivocation IM equivocating1 (composite_transition (EquivocatorsComposition.equivocator_IM IM) l (_s, om)).1equivocators_fixed_equivocations_constraint IM equivocating2 l (_s, om)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating1, equivocating2: set index
Hincl: equivocating1 ⊆ equivocating2
l: label (free_composite_vlsm (EquivocatorsComposition.equivocator_IM IM))
_s: state (free_composite_vlsm (EquivocatorsComposition.equivocator_IM IM))
om: option message
Hmsg: equivocators_no_equivocations_constraint IM l (_s, om)
Hfixed: state_has_fixed_equivocation IM equivocating1 (composite_transition (EquivocatorsComposition.equivocator_IM IM) l (_s, om)).1state_has_fixed_equivocation IM equivocating2 (composite_transition (EquivocatorsComposition.equivocator_IM IM) l (_s, om)).1by set_solver. Qed. Section sec_fixed_equivocation_with_fullnode.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= EquivocatorsComposition.equivocator_IM IM: index → VLSM message
equivocating1, equivocating2: set index
Hincl: equivocating1 ⊆ equivocating2
l: label (free_composite_vlsm (EquivocatorsComposition.equivocator_IM IM))
_s: state (free_composite_vlsm (EquivocatorsComposition.equivocator_IM IM))
om: option message
Hmsg: equivocators_no_equivocations_constraint IM l (_s, om)
Hfixed: state_has_fixed_equivocation IM equivocating1 (composite_transition (EquivocatorsComposition.equivocator_IM IM) l (_s, om)).1equivocating_indices IM (enum index) (composite_transition (EquivocatorsComposition.equivocator_IM IM) l (_s, om)).1 ⊆ equivocating2
This section instantiates the full_node_condition_for_admissible_equivocators
by choosing the admissible indices to be the fixed set of components allowed to
equivocate, and then shows that this constraint is stronger than the
fixed_equivocation_constraint.
Context setting the stage for, and instantiating the
full_node_condition_for_admissible_equivocators.
It requires that the components have has_been_sent and has_been_received
capabilities, that the number of components is finite.
Additionally to the above we require that equality on messages is decidable
and that the set of VLSMs allowed to equivocate is non-empty.
Context
`{EqDecision message}
`{FinSet index Ci}
`{finite.Finite index}
(IM : index -> VLSM message)
`{forall i : index, HasBeenSentCapability (IM i)}
`{forall i : index, HasBeenReceivedCapability (IM i)}
(equivocating : Ci)
.
The full_node_constraint_alt is stronger than the fixed_equivocation_constraint.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Cistrong_constraint_subsumption (free_composite_vlsm IM) (full_node_condition_for_admissible_equivocators_alt IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating)) (fixed_equivocation_constraint IM equivocating)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Cistrong_constraint_subsumption (free_composite_vlsm IM) (full_node_condition_for_admissible_equivocators_alt IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating)) (fixed_equivocation_constraint IM equivocating)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: message
Hc: full_node_condition_for_admissible_equivocators_alt IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating) l ( s, Some m)fixed_equivocation_constraint IM equivocating l (s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: message
i: index
Hi: i ∈ equivocating
Hm: node_generated_without_further_equivocation_alt IM s m ifixed_equivocation_constraint IM equivocating l (s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: message
i: index
Hi: i ∈ equivocating
Hm: can_emit (preloaded_vlsm (IM i) (composite_has_been_directly_observed IM s)) mfixed_equivocation_constraint IM equivocating l (s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: message
i: index
Hi: i ∈ equivocating
Hm: can_emit (preloaded_vlsm (IM i) (composite_has_been_directly_observed IM s)) mcan_emit (equivocators_composition_for_directly_observed IM equivocating s) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: message
i: index
Hi: i ∈ elements equivocating
Hm: can_emit (preloaded_vlsm (IM i) (composite_has_been_directly_observed IM s)) mcan_emit (equivocators_composition_for_directly_observed IM equivocating s) mby eauto. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
l: label (free_composite_vlsm IM)
s: state (free_composite_vlsm IM)
m: message
i: index
Hi: i ∈ elements equivocating
Hm: can_emit (preloaded_vlsm (IM i) (composite_has_been_directly_observed IM s)) m∀ m : message, composite_has_been_directly_observed IM s m → composite_has_been_directly_observed IM s m
If all components have the cannot_resend_message_stepwise_property, then the
full node condition is stronger than the fixed_equivocation_constraint
(by reduction to the result above).
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
Hno_resend: ∀ i : index, cannot_resend_message_stepwise_prop (IM i)preloaded_constraint_subsumption (free_composite_vlsm IM) (full_node_condition_for_admissible_equivocators IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating)) (fixed_equivocation_constraint IM equivocating)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
Hno_resend: ∀ i : index, cannot_resend_message_stepwise_prop (IM i)preloaded_constraint_subsumption (free_composite_vlsm IM) (full_node_condition_for_admissible_equivocators IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating)) (fixed_equivocation_constraint IM equivocating)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
Hno_resend: ∀ i : index, cannot_resend_message_stepwise_prop (IM i)
l: label (free_composite_vlsm IM)
s: state (preloaded_with_all_messages_vlsm (constrained_vlsm (free_composite_vlsm IM) (full_node_condition_for_admissible_equivocators IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating))))
om: option message
Hv: input_constrained (constrained_vlsm (free_composite_vlsm IM) (full_node_condition_for_admissible_equivocators IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating))) l ( s, om)fixed_equivocation_constraint IM equivocating l (s, om)by eapply full_node_condition_for_admissible_equivocators_subsumption. Qed. End sec_fixed_equivocation_with_fullnode. Section sec_from_equivocators_to_components.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
Hno_resend: ∀ i : index, cannot_resend_message_stepwise_prop (IM i)
l: label (free_composite_vlsm IM)
s: state (preloaded_with_all_messages_vlsm (constrained_vlsm (free_composite_vlsm IM) (full_node_condition_for_admissible_equivocators IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating))))
om: option message
Hv: input_constrained (constrained_vlsm (free_composite_vlsm IM) (full_node_condition_for_admissible_equivocators IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating))) l ( s, om)full_node_condition_for_admissible_equivocators_alt IM (λ (_ : composite_state IM) (i : index), i ∈ equivocating) l (s, om)
From composition of equivocators to composition of simple components
Context
`{EqDecision message}
{index : Type}
`{FinSet index Ci}
`{finite.Finite index}
(IM : index -> VLSM message)
`{forall i : index, HasBeenSentCapability (IM i)}
`{forall i : index, HasBeenReceivedCapability (IM i)}
(equivocating : Ci)
(XE : VLSM message := equivocators_fixed_equivocations_vlsm IM (elements equivocating))
(X : VLSM message := fixed_equivocation_vlsm_composition IM equivocating)
(FreeE : VLSM message := free_composite_vlsm (equivocator_IM IM))
(Hdec_init : forall i, decidable_initial_messages_prop (IM i))
(Free := free_composite_vlsm IM)
.
proper_equivocator_descriptors strengthen for fixed-equivocation.
We require that if the index is not equivocating, than the corresponding
descriptor is a zero_descriptor.
Definition proper_fixed_equivocator_descriptors
(eqv_descriptors : equivocator_descriptors IM)
(s : state (free_composite_vlsm (equivocator_IM IM)))
: Prop
:= proper_equivocator_descriptors IM eqv_descriptors s /\
forall i, i ∉ equivocating -> eqv_descriptors i = Existing 0.
not_equivocating_equivocator_descriptors satisfy the
proper_fixed_equivocator_descriptors property.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors sproper_fixed_equivocator_descriptors eqv_descriptors smessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors sproper_fixed_equivocator_descriptors eqv_descriptors smessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors s
Hproper: proper_equivocator_descriptors IM eqv_descriptors sproper_fixed_equivocator_descriptors eqv_descriptors smessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors s
Hproper: proper_equivocator_descriptors IM eqv_descriptors s∀ i : index, i ∉ equivocating → eqv_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors s
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
i: index
Hi: i ∉ elements equivocatingeqv_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors s
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
i: index
Hi: i ∉ elements equivocating
Hzero: equivocator_state_n (s i) = 1eqv_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
i: index
n: nat
Heqv_descriptors: existing_descriptor (IM i) (Existing n) (s i)
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
Hi: i ∉ elements equivocating
Hzero: equivocator_state_n (s i) = 1Existing n = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
i: index
n: nat
s_i_n: state (IM i)
Heqv_descriptors: equivocator_state_project (s i) n = Some s_i_n
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
Hi: i ∉ elements equivocating
Hzero: equivocator_state_n (s i) = 1Existing n = Existing 0by f_equal; lia. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
i: index
n: nat
s_i_n: state (IM i)
Heqv_descriptors: n < equivocator_state_n (s i)
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
Hi: i ∉ elements equivocating
Hzero: equivocator_state_n (s i) = 1Existing n = Existing 0
Projections of (valid) traces of the composition of equivocators preserve
proper_fixed_equivocator_descriptors.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)proper_fixed_equivocator_descriptors descriptors s → proper_fixed_equivocator_descriptors idescriptors ismessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)proper_fixed_equivocator_descriptors descriptors s → proper_fixed_equivocator_descriptors idescriptors ismessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hfixed: ∀ i : index, i ∉ equivocating → descriptors i = Existing 0proper_fixed_equivocator_descriptors idescriptors ismessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hfixed: ∀ i : index, i ∉ equivocating → descriptors i = Existing 0
Hiproper: proper_equivocator_descriptors IM idescriptors isproper_fixed_equivocator_descriptors idescriptors ismessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hfixed: ∀ i : index, i ∉ equivocating → descriptors i = Existing 0
Hiproper: proper_equivocator_descriptors IM idescriptors is∀ i : index, i ∉ equivocating → idescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hfixed: ∀ i : index, i ∉ equivocating → descriptors i = Existing 0
Hiproper: proper_equivocator_descriptors IM idescriptors is
i: index
Hi: i ∉ equivocatingidescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
i: index
Hfixed: descriptors i = Existing 0
Hiproper: proper_equivocator_descriptors IM idescriptors is
Hi: i ∉ equivocatingidescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
i: index
Hiproper: proper_equivocator_descriptors IM idescriptors is
Hi: i ∉ equivocatingdescriptors i = Existing 0 → idescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
i: index
Hiproper: proper_equivocator_descriptors IM idescriptors isdescriptors i = Existing 0 → idescriptors i = Existing 0by eapply equivocators_trace_project_preserves_zero_descriptors. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_constrained_trace_from FreeE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hiproper: proper_equivocator_descriptors IM idescriptors is∀ i : index, descriptors i = Existing 0 → idescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
Hes: initial_state_prop es
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esinitial_state_prop (equivocators_state_project IM eqv_descriptors es)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
Hes: initial_state_prop es
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esinitial_state_prop (equivocators_state_project IM eqv_descriptors es)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
Hes: initial_state_prop es
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors es
eqv: indexinitial_state_prop (equivocators_state_project IM eqv_descriptors es eqv)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
eqv: index
Hes: initial_state_prop (es eqv)
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esinitial_state_prop (equivocators_state_project IM eqv_descriptors es eqv)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
eqv: index
Hes: initial_state_prop (es eqv)
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esinitial_state_prop (equivocators_state_project IM eqv_descriptors es eqv)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
eqv: index
Hes: initial_state_prop (es eqv)
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esinitial_state_prop (equivocator_state_descriptor_project (es eqv) (eqv_descriptors eqv))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
eqv: index
Hes: initial_state_prop (es eqv)
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_descriptor (IM eqv) (eqv_descriptors eqv) (es eqv)initial_state_prop (equivocator_state_descriptor_project (es eqv) (eqv_descriptors eqv))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
eqv: index
Hes: initial_state_prop (es eqv)
eqv_descriptors: equivocator_descriptors IM
i: nat
Heqv: proper_descriptor (IM eqv) (Existing i) (es eqv)initial_state_prop (equivocator_state_descriptor_project (es eqv) (Existing i))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
eqv: index
Hes: initial_state_prop (es eqv)
eqv_descriptors: equivocator_descriptors IM
i: nat
esi: state (IM eqv)
Heqsi: equivocator_state_project (es eqv) i = Some esiinitial_state_prop (equivocator_state_descriptor_project (es eqv) (Existing i))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
eqv: index
Hes: initial_state_prop (es eqv)
eqv_descriptors: equivocator_descriptors IM
i: nat
esi: state (IM eqv)
Heqsi: equivocator_state_project (es eqv) i = Some esiinitial_state_prop (default (equivocator_state_zero (es eqv)) (equivocator_state_project (es eqv) i))by eapply equivocator_vlsm_initial_state_preservation_rev. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
es: state XE
eqv: index
Hes: initial_state_prop (es eqv)
eqv_descriptors: equivocator_descriptors IM
i: nat
esi: state (IM eqv)
Heqsi: equivocator_state_project (es eqv) i = Some esiinitial_state_prop (default (equivocator_state_zero (es eqv)) (Some esi))
This is a property of the fixed_equivocation_constraint which also
trivially holds for the free constraint. This property is sufficient for
proving the _equivocators_valid_trace_project lemma,
which lets that lemma be used for both the composition of equivocators with
fixed state-equivocation and the free composition.
It basically says that if a message has_been_sent for a state of the
composition of equivocators with no-message equivocations and fixed
state-equivocations, then any of its projections should be allowed to receive it.
Definition constraint_has_been_sent_prop
(constraint : composite_label IM -> composite_state IM * option message -> Prop)
: Prop :=
forall
(s : composite_state (equivocator_IM IM))
(Hs : valid_state_prop XE s)
(descriptors : equivocator_descriptors IM)
(Hdescriptors : proper_fixed_equivocator_descriptors descriptors s)
(sX := equivocators_state_project IM descriptors s)
(m : message)
(Hm : has_been_sent FreeE s m)
l,
constraint l (sX, Some m).
Generic proof that the projection of a trace of the composition of equivocators
with no message equivocation and fixed state equivocation is valid w.r.t.
the composition of the regular components constrained by any constraint satisfying
several properties, including the constraint_has_been_sent_property.
The proof proceeds by well founded induction on the length of the trace,
performing an analysis on the final transition item of the trace.
It uses the fact that the trace has no message equivocation to extract a
subtrace producing the message being received at the last transition and
proves that it's a valid message for the destination machine by using
the induction hypothesis (that is why well-founded induction is used rather
than a simpler induction principle).
The constraint satisfaction for the projection of the final transition is
for now assumes as hypothesis
Hconstraint_hbs
.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
len_tr: nat
Heqlen_tr: len_tr = length tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
len_tr: nat∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → len_tr = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
len_tr: nat
IHlen: ∀ y : nat, y < len_tr → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
Heqlen_tr: len_tr = length tr
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr: list (composite_transition_item (equivocator_IM IM))
IHlen: ∀ y : nat, y < length tr → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace XE is tr
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr: list (composite_transition_item (equivocator_IM IM))
IHlen: ∀ y : nat, y < length [] → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = []∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr: list (composite_transition_item (equivocator_IM IM))
IHlen: ∀ y : nat, y < length [] → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = []∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = []∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_statelet isX := equivocators_state_project IM final_descriptors is in let final_stateX := finite_trace_last isX [] in proper_fixed_equivocator_descriptors final_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some ([], final_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX []message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_stateequivocators_trace_project IM final_descriptors [] = Some ([], final_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM final_descriptors is) [] ∧ finite_valid_trace X' (equivocators_state_project IM final_descriptors is) []message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_stateequivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM final_descriptors is) [] ∧ finite_valid_trace X' (equivocators_state_project IM final_descriptors is) []message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_statefinite_valid_trace X' (equivocators_state_project IM final_descriptors is) []message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isfinite_valid_trace X' isx []message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isinitial_state_prop isx → finite_valid_trace X' isx []message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isinitial_state_prop isxmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isinitial_state_prop isx → finite_valid_trace X' isx []message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
His: initial_state_prop isxfinite_valid_trace X' isx []message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
His: initial_state_prop isxfinite_valid_trace_from X' isx []message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
His: initial_state_prop isxvalid_state_prop X' isxmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
His: initial_state_prop isx(∃ is : initial_state X', isx = `is) ∨ (∃ (l : label X') (som : state X' * option message) (om' : option message), input_valid_transition X' l som (isx, om'))by exists (exist _ _ His).message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
His: initial_state_prop isx∃ is : initial_state X', isx = `isby subst; apply fixed_equivocators_initial_state_project; [apply Htr | apply Hproper].message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
Htr: finite_valid_trace XE is []
final_state:= finite_trace_last is []: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
isx: state (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isinitial_state_prop isxmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
IH': length tr' < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
IH': ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is (tr' ++ [lst])
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
IH': ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr' ∧ finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
IH': ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
IH': ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Hproperx: proper_equivocator_descriptors IM final_descriptors (destination lst) → ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) ( s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Hproperx: proper_equivocator_descriptors IM final_descriptors (destination lst) → ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) ( s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Hproperx: proper_equivocator_descriptors IM final_descriptors (destination lst) → ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) ( s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Hproperx: proper_equivocator_descriptors IM final_descriptors (destination lst) → ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) ( s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Hproperx: ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' s ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' s end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) ( sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) ( sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors)) (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) ( sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) (foldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors)) [lst]) tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) ( sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = foldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors)) [lst]∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) ( sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match equivocators_transition_item_project IM final_descriptors lst with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) ( sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
IHlen: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: input_valid_transition XE (l lst) (finite_trace_last is tr', input lst) (destination lst, output lst)
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) ( sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ (final_state := finite_trace_last is tr) (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
Htr: finite_valid_trace_from XE is tr'
Hlst: input_valid_transition XE (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (finite_trace_last is tr', input {| l := l; input := iom; destination := s; output := oom |}) (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |})
Hinit: initial_state_prop is
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination {| l := l; input := iom; destination := s; output := oom |})
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ (final_state := finite_trace_last is tr') (final_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) = VLSM.l itemx) ∧ input {| l := l; input := iom; destination := s; output := oom |} = input itemx ∧ output {| l := l; input := iom; destination := s; output := oom |} = output itemx ∧ equivocators_state_project IM final_descriptors (destination {| l := l; input := iom; destination := s; output := oom |}) = destination itemx ∧ final_descriptors' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = equivocator_label_descriptor (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (finite_trace_last is tr', input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (finite_trace_last is tr', input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (final_descriptors' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination {| l := l; input := iom; destination := s; output := oom |}) (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (finite_trace_last is tr' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) ∧ previous_state_descriptor_prop (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (final_descriptors (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (finite_trace_last is tr' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (final_descriptors' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (VLSM.l itemx) ( sx, input itemx) ∧ composite_transition IM (VLSM.l itemx) (sx, input itemx) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination {| l := l; input := iom; destination := s; output := oom |}) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s0 : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hlst: input_valid_transition XE l (finite_trace_last is tr', iom) ( s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hproperx: (let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, iom)) → (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, iom) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, oom) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 l) (final_descriptors' (projT1 l)) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) s (projT1 l) (finite_trace_last is tr' (projT1 l)) ∧ previous_state_descriptor_prop (IM (projT1 l)) (final_descriptors (projT1 l)) (finite_trace_last is tr' (projT1 l)) (final_descriptors' (projT1 l)) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in ( state_update IM sx i si', om')) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s0 : composite_state (equivocator_IM IM)), (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (s0 i, iom) in (state_update (equivocator_IM IM) s0 i si', om')) = (s, oom) → (let (i, li) := l in equivocator_valid (IM i) li (s0 i, iom)) → equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hproperx: (let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, iom)) → (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, iom) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, oom) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 l) (final_descriptors' (projT1 l)) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) s (projT1 l) (finite_trace_last is tr' (projT1 l)) ∧ previous_state_descriptor_prop (IM (projT1 l)) (final_descriptors (projT1 l)) (finite_trace_last is tr' (projT1 l)) (final_descriptors' (projT1 l)) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in ( state_update IM sx i si', om')) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s0 : composite_state (equivocator_IM IM)), (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (s0 i, iom) in (state_update (equivocator_IM IM) s0 i si', om')) = (s, oom) → (let (i, li) := l in equivocator_valid (IM i) li (s0 i, iom)) → equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hproperx: (let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, iom)) → (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, iom) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, oom) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 l) (final_descriptors' (projT1 l)) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) s (projT1 l) (finite_trace_last is tr' (projT1 l)) ∧ previous_state_descriptor_prop (IM (projT1 l)) (final_descriptors (projT1 l)) (finite_trace_last is tr' (projT1 l)) (final_descriptors' (projT1 l)) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in ( state_update IM sx i si', om')) = ( destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hproperx: proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 l) (final_descriptors' (projT1 l)) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) s (projT1 l) (finite_trace_last is tr' (projT1 l)) ∧ previous_state_descriptor_prop (IM (projT1 l)) (final_descriptors (projT1 l)) (finite_trace_last is tr' (projT1 l)) (final_descriptors' (projT1 l)) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') endproper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') endproper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
i: index
Hi: i ∉ equivocatingfinal_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
i: index
Hi: i ∉ equivocatingfinal_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
i: index
Hi: i ∉ equivocatingfinal_descriptors i = Existing 0by apply Hzero.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hzero: ∀ i : index, i ∉ equivocating → final_descriptors i = Existing 0
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
i: index
Hi: i ∉ equivocatingfinal_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
IH': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'finite_valid_trace FreeE is tr'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'finite_valid_trace FreeE is tr'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'finite_valid_trace_from FreeE is tr'by apply equivocators_fixed_equivocations_vlsm_incl_free.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'VLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (free_composite_vlsm_machine (equivocator_IM IM))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'finite_constrained_trace FreeE is tr'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'finite_constrained_trace FreeE is tr'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is tr'by apply (VLSM_incl_finite_valid_trace_from Hincl), Htr'.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Hincl: VLSM_incl FreeE (preloaded_with_all_messages_vlsm FreeE)finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is tr'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in valid li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := transition li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hitemx: (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item) ∧ iom = input item ∧ oom = output item ∧ equivocators_state_project IM final_descriptors s = destination item ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l)
Hx: ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l item in valid li (sx i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := transition li (sx i, input item) in (state_update IM sx i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hitemx: (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item) ∧ iom = input item ∧ oom = output item ∧ equivocators_state_project IM final_descriptors s = destination item ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l)
Hx: ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l item in valid li (sx i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := transition li (sx i, input item) in (state_update IM sx i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hitemx: (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item) ∧ iom = input item ∧ oom = output item ∧ equivocators_state_project IM final_descriptors s = destination item ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l)
Hx: ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l item in valid li (sx i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := transition li (sx i, input item) in (state_update IM sx i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hx: ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l item in valid li (sx i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := transition li (sx i, input item) in (state_update IM sx i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hx: (let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX' ++ [item], initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) (Some ([item], final_descriptors')) tr' = Some (trX' ++ [item], initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ Some (trX' ++ [item], initial_descriptors) = Some (trX' ++ [item], initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isSome (trX' ++ [item], initial_descriptors) = Some (trX' ++ [item], initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = destination item ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors (finite_trace_last is tr) = destination item ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors (finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}])) = destination item ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors (destination {| l := l; input := iom; destination := s; output := oom |}) = destination item ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace_from X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [item]message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace_from X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [item]message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace_from X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') ([] ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
item: composite_transition_item IM
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state X'
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'finite_valid_trace_from X' lst ([] ++ [item])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
l0: label (composite_type IM)
input: option message
destination: state (composite_type IM)
output: option message
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state X'
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'finite_valid_trace_from X' lst ([] ++ [{| l := l0; input := input; destination := destination; output := output |}])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
l0: label (composite_type IM)
input: option message
destination: state (composite_type IM)
output: option message
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state X'
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hplst: valid_state_prop X' lstfinite_valid_trace_from X' lst ([] ++ [{| l := l0; input := input; destination := destination; output := output |}])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
l0: label (composite_type IM)
input: option message
destination: state (composite_type IM)
output: option message
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state X'
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hplst: valid_state_prop X' lstinput_valid_transition X' l0 (finite_trace_last lst [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
l0: label (composite_type IM)
input: option message
destination: state (composite_type IM)
output: option message
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state X'
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hplst: valid_state_prop X' lstinput_valid_transition X' l0 (finite_trace_last lst [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: option message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: option message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', input)
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: option message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) l (finite_trace_last is tr', input)
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: option message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) l (finite_trace_last is tr', input)
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in valid li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: option message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) l (finite_trace_last is tr', input)
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) l (finite_trace_last is tr', Some input)
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) l (finite_trace_last is tr', Some input)
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: False ∨ composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_prop FreeE (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_prop FreeE (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
_om: option message
Hs: valid_state_message_prop XE (finite_trace_last is tr') _om
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_prop FreeE (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
_om: option message
Hs: valid_state_message_prop XE (finite_trace_last is tr') _om
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_message_prop FreeE (finite_trace_last is tr') _omby eapply (constraint_subsumption_valid_state_message_preservation (free_composite_vlsm _)).message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
_om: option message
Hs: valid_state_message_prop XE (finite_trace_last is tr') _om
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_message_prop {| vlsm_type := composite_type (equivocator_IM IM); vlsm_machine := {| vlsm_type := free_composite_vlsm (equivocator_IM IM); vlsm_machine := composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM)) |} |} (finite_trace_last is tr') _ommessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: specialized_selected_message_exists_in_all_traces FreeE (field_selector VLSM.output) (finite_trace_last is tr') inputinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXminput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXmproper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXmproper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')by apply finite_valid_trace_last_pstate.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXmvalid_state_prop XE (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
IHlen: ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')length tr' < length tr' + length [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]lia.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
IHlen: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')length tr' < length tr' + 1message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
IHlen: ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: label (composite_type IM)
input: message
destination: state (composite_type IM)
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr', Some input).1 input
Hv: valid l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
trXm': list (composite_transition_item IM)
initial_descriptors_m': equivocator_descriptors IM
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m' is
Hproject_trXm': equivocators_trace_project IM final_descriptors_m tr' = Some (trXm', initial_descriptors_m')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m' is) trXm'
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m' is) trXm'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
trXm': list (composite_transition_item IM)
initial_descriptors_m': equivocator_descriptors IM
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m' is
Hproject_trXm': equivocators_trace_project IM final_descriptors_m tr' = Some (trXm', initial_descriptors_m')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m' is) trXm'
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m' is) trXm'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
trXm': list (composite_transition_item IM)
initial_descriptors_m': equivocator_descriptors IM
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m' is
Hproject_trXm': Some (trXm, initial_descriptors_m) = Some (trXm', initial_descriptors_m')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m' is) trXm'
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m' is) trXm'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
trXm': list (composite_transition_item IM)
initial_descriptors_m': equivocator_descriptors IM
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m' is
Hproject_trXm': Some (trXm, initial_descriptors_m) = Some (trXm', initial_descriptors_m')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m' is) trXm'
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m' is) trXm'
H11: trXm = trXm'
H12: initial_descriptors_m = initial_descriptors_m'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hproject_trXm': Some (trXm, initial_descriptors_m) = Some (trXm, initial_descriptors_m)
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isoption_valid_message_prop X' (Some input)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isconstraint l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input)by eapply valid_trace_output_is_valid; [apply HtrXm |].message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isoption_valid_message_prop X' (Some input)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isconstraint l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isconstraint l0 (finite_trace_last (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) [], Some input)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m ishas_been_sent FreeE (finite_trace_last is tr') inputmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m is
Hlst'pre: constrained_state_prop FreeE (finite_trace_last is tr')has_been_sent FreeE (finite_trace_last is tr') inputmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m is
Hlst'pre: constrained_state_prop FreeE (finite_trace_last is tr')selected_message_exists_in_all_preloaded_traces FreeE (field_selector VLSM.output) (finite_trace_last is tr') inputby red in Htr'pre; exists is, tr', (valid_trace_add_default_last Htr'pre).message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
l0: composite_label IM
input: message
destination: composite_state IM
output: option message
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is tr') input
Hv: let (i, li) := l in equivocator_valid (IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hvx: let (i, li) := l0 in valid li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := transition li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m is
Hlst'pre: constrained_state_prop FreeE (finite_trace_last is tr')selected_message_exists_in_some_preloaded_traces FreeE (field_selector VLSM.output) (finite_trace_last is tr') inputmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ initial_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX', initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX', initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors')) tr' = Some (trX', initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfoldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors')) tr' = Some (trX', initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is tr: composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
IHlen: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_constrained_trace FreeE is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'message, index: Type
EqDecision2: EqDecision index
IM: index → VLSM message
is: composite_state (equivocator_IM IM)
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors, final_descriptors': equivocator_descriptors IM
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'by rewrite <- Hstate_project, <- Hx, finite_trace_last_is_last. Qed.message, index: Type
EqDecision2: EqDecision index
IM: index → VLSM message
is: composite_state (equivocator_IM IM)
tr': list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
iom: option message
s: composite_state (equivocator_IM IM)
oom: option message
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): composite_state (equivocator_IM IM)
final_descriptors, final_descriptors': equivocator_descriptors IM
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'equivocators_state_project IM final_descriptors (finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}])) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Instantiating the lemma above with the free constraint.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state XE
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace (free_composite_vlsm IM) isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state XE
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace (free_composite_vlsm IM) isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state XE
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
trX: list (composite_transition_item IM)
idesc: equivocator_descriptors IM
Hex: let isX := equivocators_state_project IM idesc is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors idesc is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, idesc) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = final_stateX ∧ finite_valid_trace (composite_vlsm IM (free_constraint IM)) isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace (free_composite_vlsm IM) isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state XE
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
trX: list (composite_transition_item IM)
idesc: equivocator_descriptors IM
Hex: let isX := equivocators_state_project IM idesc is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors idesc is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, idesc) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = final_stateX ∧ finite_valid_trace (composite_vlsm IM (free_constraint IM)) isX trXlet isX := equivocators_state_project IM idesc is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors idesc is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, idesc) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace (free_composite_vlsm IM) isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state XE
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
trX: list (composite_transition_item IM)
idesc: equivocator_descriptors IM
Hex: let isX := equivocators_state_project IM idesc is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors idesc is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, idesc) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = final_stateX ∧ finite_valid_trace (composite_vlsm IM (free_constraint IM)) isX trXfinite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM idesc is) trXby apply free_composite_vlsm_spec. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state XE
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
trX: list (composite_transition_item IM)
idesc: equivocator_descriptors IM
Hex: let isX := equivocators_state_project IM idesc is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors idesc is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, idesc) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = final_stateX ∧ finite_valid_trace (composite_vlsm IM (free_constraint IM)) isX trXVLSM_incl_part (composite_vlsm IM (free_constraint IM)) (free_composite_vlsm_machine IM)
A message sent by a non-state-equivocating machine can be directly observed
in any projection of the final state.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
lst:= finite_trace_last is tr: state XE
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors lsthas_been_directly_observed Free (equivocators_state_project IM descriptors lst) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
lst:= finite_trace_last is tr: state XE
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors lsthas_been_directly_observed Free (equivocators_state_project IM descriptors lst) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
lst:= finite_trace_last is tr: state XE
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors lst
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXhas_been_directly_observed Free (equivocators_state_project IM descriptors lst) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXhas_been_directly_observed Free (equivocators_state_project IM descriptors (finite_trace_last is tr)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXhas_been_directly_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXfinite_constrained_trace FreeE is trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is trhas_been_directly_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXfinite_constrained_trace FreeE is trby apply constrained_preloaded_incl.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (preloaded_vlsm_machine FreeE (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is trhas_been_directly_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is trfinite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXhas_been_directly_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is trfinite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXby apply vlsm_incl_preloaded_with_all_messages_vlsm.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is trVLSM_incl_part (free_composite_vlsm_machine IM) (preloaded_vlsm_machine Free (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXhas_been_directly_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXconstrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)has_been_directly_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXconstrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)by apply HtrX_Pre.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXfinite_valid_trace_from (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)has_been_directly_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)has_been_received Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) m ∨ has_been_sent Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)has_been_sent Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_all_preloaded_traces Free (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_some_preloaded_traces Free (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_some_preloaded_traces Free (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: ∃ l1 l2 : list transition_item, tr = l1 ++ item :: l2
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
pre, suf: list transition_item
Hitem: tr = pre ++ item :: suf
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
pre, suf: list transition_item
Hitem: tr = pre ++ [item] ++ suf
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is tr
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM (elements equivocating)) (destination item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM (elements equivocating)) (destination item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM (elements equivocating)) (destination item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace_from XE is (pre ++ [item]) ∧ finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM (elements equivocating)) (destination item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace_from XE is (pre ++ [item])
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM (elements equivocating)) (destination item)by rewrite finite_trace_last_is_last in Htr.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: valid_state_prop XE (finite_trace_last is (pre ++ [item]))
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM (elements equivocating)) (destination item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' pre = Some (preX, initial_descriptors) ∧ trX = preX ++ sufX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
preX', sufX': list (composite_transition_item IM)
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HpreX: trX = preX' ++ sufX'
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m (preX' ++ sufX')message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) preX' ∨ Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre ∧ finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors'0 : equivocator_descriptors IM), equivocators_trace_project IM descriptors suf = Some (sufX, eqv_descriptors'0) ∧ equivocators_trace_project IM eqv_descriptors'0 [item] = Some (preX, eqv_descriptors') ∧ sufX' = preX ++ sufX
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
pre_itemX, sufX'': list (composite_transition_item IM)
eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
HsufX': sufX' = pre_itemX ++ sufX''
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) (pre_itemX ++ sufX'')message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) pre_itemX ∨ Exists (field_selector output m) sufX''message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item] ∧ finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': ∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0Exists (field_selector output m) pre_itemXby intros i Hi; eapply equivocators_trace_project_preserves_zero_descriptors, Hdescriptors.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': ∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': eqv_descriptors'' (projT1 (l item)) = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ item :: suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: output item = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ item :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ item :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: match equivocators_transition_item_project IM eqv_descriptors'' item with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': eqv_descriptors'' (projT1 (l item)) = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ item :: suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: output item = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ item :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ item :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' item = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': eqv_descriptors'' (projT1 (l item)) = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
input: option message
destination: state (composite_type (equivocator_IM IM))
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 (VLSM.l {| l := l; input := input; destination := destination; output := output |}) ∉ equivocating
m: message
Hm: VLSM.output {| l := l; input := input; destination := destination; output := output |} = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (VLSM.l {| l := l; input := input; destination := destination; output := output |}))) (VLSM.destination {| l := l; input := input; destination := destination; output := output |} (projT1 (VLSM.l {| l := l; input := input; destination := destination; output := output |})))
Heqv_descriptors'': eqv_descriptors'' (projT1 (VLSM.l {| l := l; input := input; destination := destination; output := output |})) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: composite_label (equivocator_IM IM)
input: option message
destination: composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 l ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 l)) (destination (projT1 l))
Heqv_descriptors'': eqv_descriptors'' (projT1 l) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: composite_label (equivocator_IM IM)
input: option message
destination: composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 l ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: input_valid_transition (preloaded_with_all_messages_vlsm FreeE) (VLSM.l {| l := l; input := input; destination := destination; output := output |}) (finite_trace_last is pre, VLSM.input {| l := l; input := input; destination := destination; output := output |}) (VLSM.destination {| l := l; input := input; destination := destination; output := output |}, VLSM.output {| l := l; input := input; destination := destination; output := output |})
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 l)) (destination (projT1 l))
Heqv_descriptors'': eqv_descriptors'' (projT1 l) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: composite_label (equivocator_IM IM)
input: option message
destination: composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 l ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: input_valid_transition (preloaded_with_all_messages_vlsm FreeE) l (finite_trace_last is pre, input) (destination, output)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 l)) (destination (projT1 l))
Heqv_descriptors'': eqv_descriptors'' (projT1 l) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: composite_label (equivocator_IM IM)
input: option message
destination: composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 l ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hv: valid l (finite_trace_last is pre, input)
Ht: transition l (finite_trace_last is pre, input) = (destination, output)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 l)) (destination (projT1 l))
Heqv_descriptors'': eqv_descriptors'' (projT1 l) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
l: label (equivocator_IM IM x)
input: option message
destination: composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := existT x l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 (existT x l) ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hv: valid (existT x l) (finite_trace_last is pre, input)
Ht: transition (existT x l) (finite_trace_last is pre, input) = (destination, output)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (existT x l))) (destination (projT1 (existT x l)))
Heqv_descriptors'': eqv_descriptors'' (projT1 (existT x l)) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
l: EquivocatorLabel (IM x)
input: option message
destination: composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := existT x l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: x ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hv: equivocator_valid (IM x) l (finite_trace_last is pre x, input)
Ht: (let (si', om') := equivocator_transition (IM x) l (finite_trace_last is pre x, input) in (state_update (equivocator_IM IM) (finite_trace_last is pre) x si', om')) = (destination, output)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) destination suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) (destination x)
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
l: EquivocatorLabel (IM x)
input: option message
destination: composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := existT x l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: x ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hv: equivocator_valid (IM x) l (finite_trace_last is pre x, input)
si': equivocator_state (IM x)
om': option message
Hti: equivocator_transition (IM x) l (finite_trace_last is pre x, input) = (si', om')
Ht: (state_update (equivocator_IM IM) (finite_trace_last is pre) x si', om') = (destination, output)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) destination suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) (destination x)
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
l: EquivocatorLabel (IM x)
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hv: equivocator_valid (IM x) l (finite_trace_last is pre x, input)
Hti: equivocator_transition (IM x) l (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x)
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
l: EquivocatorLabel (IM x)
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hv: equivocator_valid (IM x) l (finite_trace_last is pre x, input)
Hti: equivocator_transition (IM x) l (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
l: EquivocatorLabel (IM x)
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hv: equivocator_valid (IM x) l (finite_trace_last is pre x, input)
Hti: equivocator_transition (IM x) l (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
li: label (IM x)
Hsndv: l = ContinueWith 0 liExists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
l: EquivocatorLabel (IM x)
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM (projT1 (VLSM.l {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}))) (composite_transition_item_projection (equivocator_IM IM) {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}) (eqv_descriptors'' (projT1 (VLSM.l {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}))) with | Some (Some item', deqv') => Some (Some {| l := existT (projT1 (VLSM.l {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) (VLSM.l item'); input := VLSM.input {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}; destination := equivocators_state_project IM eqv_descriptors'' (destination {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}); output := output {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} |}, equivocator_descriptors_update IM eqv_descriptors'' (projT1 (VLSM.l {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' (projT1 (VLSM.l {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hv: equivocator_valid (IM x) l (finite_trace_last is pre x, input)
Hti: equivocator_transition (IM x) l (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
li: label (IM x)
Hsndv: l = ContinueWith 0 liExists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
l: EquivocatorLabel (IM x)
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) (composite_transition_item_projection (equivocator_IM IM) {| l := existT x l; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}) (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (VLSM.l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hv: equivocator_valid (IM x) l (finite_trace_last is pre x, input)
Hti: equivocator_transition (IM x) l (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
li: label (IM x)
Hsndv: l = ContinueWith 0 liExists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) (composite_transition_item_projection (equivocator_IM IM) {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}) (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) (composite_transition_item_projection_from_eq (equivocator_IM IM) {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} (projT1 (l {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) eq_refl) (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := eq_rect_r (λ n : index, label (equivocator_IM IM n)) (projT2 (l {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) eq_refl; input := VLSM.input {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}; destination := destination {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} (projT1 (l {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})); output := output {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} |} (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := eq_rect_r (λ n : index, EquivocatorLabel (IM n)) (ContinueWith 0 li) eq_refl; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x; output := Some m |} (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := eq_rect x (λ y : index, EquivocatorLabel (IM y)) (ContinueWith 0 li) x (eq_sym eq_refl); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x; output := Some m |} (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := ContinueWith 0 li; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x; output := Some m |} (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := ContinueWith 0 li; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x; output := Some m |} (Existing 0) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match match equivocator_state_project (state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x) 0 with | Some sj => if decide (0 = 0) then Some (Some {| l := li; input := input; destination := sj; output := Some m |}, Existing 0) else Some (None, Existing 0) | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match match equivocator_state_project si' 0 with | Some sj => if decide (0 = 0) then Some (Some {| l := li; input := input; destination := sj; output := Some m |}, Existing 0) else Some (None, Existing 0) | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match (if decide (0 = 0) then Some (Some {| l := li; input := input; destination := equivocator_state_zero si'; output := Some m |}, Existing 0) else Some (None, Existing 0)) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: Some (Some {| l := existT x (l {| l := li; input := input; destination := equivocator_state_zero si'; output := Some m |}); input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: Some (Some {| l := existT x (l {| l := li; input := input; destination := equivocator_state_zero si'; output := Some m |}); input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
H11: Some {| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |} = o
H12: equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0) = odescriptorExists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr: Some (Some {| l := existT x (l {| l := li; input := input; destination := equivocator_state_zero si'; output := Some m |}); input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (Some {| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0))
Hpr_pre_item: Some ([{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: Some ([{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: Some ([{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
H11: [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}] = pre_itemX
H12: equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0) = eqv_descriptors'Exists (field_selector output m) [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}]message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX'': list (composite_transition_item IM)
eqv_descriptors'': equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}] ++ sufX'')
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre: equivocators_trace_project IM (equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) pre = Some (preX', initial_descriptors)
Hpr_pre_item: Some ([{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some ([{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0))
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}] ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}] ++ sufX''))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}] ++ sufX'')
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}]by constructor. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
x: index
input: option message
pre, suf: list transition_item
m: message
si': equivocator_state (IM x)
li: label (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX'': list (composite_transition_item IM)
eqv_descriptors'': equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}] ++ sufX'')
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre: equivocators_trace_project IM (equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}] ++ sufX'')
Hpre'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is pre
Hti: equivocator_transition (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: equivocator_valid (IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hsuf'_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si') suf
Hlst_preX: constrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}] ++ sufX''))
HtrX_Pre: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}] ++ sufX'')
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) [{| l := existT x li; input := input; destination := state_update IM (equivocators_state_project IM eqv_descriptors'' (finite_trace_last is pre)) x match eqv_descriptors'' x with | NewMachine sn => sn | Existing i => match equivocator_state_project si' i with | Some si => si | None => equivocator_state_zero si' end end; output := Some m |}]
Consider a valid_trace for the composition of equivocators with
no message equivocation and fixed state equivocation.
Because any of its projections to the composition of original components contains
all transitions from components not allowed to equivocate, then a final state of
such a projection will be able to observe all messages sent or received by
non-equivocating components in the initial trace.
Therefore if seeding the composition of equivocating components with these
messages, the restriction of the initial trace to only the equivocating
components will satisfy the trace_sub_item_input_is_seeded_or_sub_previously_sent
property w.r.t. these messages, a sufficient condition for it being
valid (finite_valid_trace_sub_projection).
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM lst_trX) trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM lst_trX) trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) itemcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXfinite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXfinite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXby apply vlsm_incl_preloaded_with_all_messages_vlsm.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trXVLSM_incl_part (free_composite_vlsm_machine IM) (preloaded_vlsm_machine (free_composite_vlsm IM) (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXconstrained_state_prop Free lst_trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: constrained_state_prop Free lst_trXcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXconstrained_state_prop Free lst_trXby apply finite_valid_trace_last_pstate, HtrXPre.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXconstrained_state_prop Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: constrained_state_prop Free lst_trXcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: constrained_state_prop Free lst_trXfinite_constrained_trace FreeE is trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is trcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: constrained_state_prop Free lst_trXfinite_constrained_trace FreeE is trby apply constrained_preloaded_incl.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: constrained_state_prop Free lst_trXVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (preloaded_vlsm_machine FreeE (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
tr: list transition_item
s:= finite_trace_last is tr: state XE
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is trcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trXcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trXcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE is pre ∧ finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)composite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)composite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)composite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is (pre ++ [item]) ∧ finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) sufcomposite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is (pre ++ [item])composite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre ∧ finite_valid_trace_from XE (finite_trace_last is pre) [item]composite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: finite_valid_trace_from XE (finite_trace_last is pre) [item]composite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)composite_has_been_directly_observed IM lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX mfinite_constrained_trace_from FreeE (finite_trace_last is pre) ([item] ++ suf)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([item] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX mfinite_constrained_trace_from FreeE (finite_trace_last is pre) ([item] ++ suf)by apply constrained_preloaded_incl.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX mVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (preloaded_vlsm_machine FreeE (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([item] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([item] ++ suf)constrained_state_prop FreeE smessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([item] ++ suf)
Hs_free: constrained_state_prop FreeE s∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([item] ++ suf)constrained_state_prop FreeE smessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: valid_state_prop (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) ([item] ++ suf))constrained_state_prop FreeE sby rewrite finite_trace_last_app.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)): state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: valid_state_prop (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) ([item] ++ suf))constrained_state_prop FreeE (finite_trace_last is (pre ++ [item] ++ suf))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [item] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([item] ++ suf)
Hs_free: constrained_state_prop FreeE s∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
iom: option message
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := iom; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input {| l := l; input := iom; destination := s0; output := oom |} = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := iom; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (VLSM.l {| l := l; input := iom; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := iom; destination := s0; output := oom |}) (destination {| l := l; input := iom; destination := s0; output := oom |}, output {| l := l; input := iom; destination := s0; output := oom |})
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hs_free: constrained_state_prop FreeE s∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
iom: option message
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := iom; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: iom = Some m
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := iom; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (VLSM.l {| l := l; input := iom; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := iom; destination := s0; output := oom |}) (destination {| l := l; input := iom; destination := s0; output := oom |}, output {| l := l; input := iom; destination := s0; output := oom |})
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hs_free: constrained_state_prop FreeE s∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hivt: input_valid_transition XE (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}) (destination {| l := l; input := Some m; destination := s0; output := oom |}, output {| l := l; input := Some m; destination := s0; output := oom |})∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_no_equivocations (equivocator_IM IM) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})
Hfixed: state_has_fixed_equivocation IM (elements equivocating) (composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})).1
Ht: transition (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}) = (destination {| l := l; input := Some m; destination := s0; output := oom |}, output {| l := l; input := Some m; destination := s0; output := oom |})∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_no_equivocations (equivocator_IM IM) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (finite_trace_last is pre i, Some m) in (state_update (equivocator_IM IM) (finite_trace_last is pre) i si', om')) = (s0, oom)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_no_equivocations (equivocator_IM IM) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1finite_valid_trace FreeE is premessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1finite_valid_trace FreeE is premessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1finite_valid_trace_from FreeE is preby apply equivocators_fixed_equivocations_vlsm_incl_free.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1VLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (free_composite_vlsm_machine (equivocator_IM IM))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: composite_has_been_sent (equivocator_IM IM) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hproper_sent: has_been_sent FreeE (finite_trace_last is pre) m → specialized_selected_message_exists_in_all_traces FreeE (field_selector output) (finite_trace_last is pre) m∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: specialized_selected_message_exists_in_all_traces FreeE (field_selector output) (finite_trace_last is pre) m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hproper_sent: has_been_sent FreeE (finite_trace_last is pre) m → specialized_selected_message_exists_in_all_traces FreeE (field_selector output) (finite_trace_last is pre) m∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: specialized_selected_message_exists_in_all_traces FreeE (field_selector output) (finite_trace_last is pre) m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: trace_has_message (field_selector output) m pre
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hc: ∃ x : transition_item, x ∈ pre ∧ field_selector output m x
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' pre = Some (preX, initial_descriptors) ∧ trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
_sufX: list (composite_transition_item IM)
_final_descriptors': equivocator_descriptors IM
_Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (_sufX, _final_descriptors')
Hproper': proper_equivocator_descriptors IM _final_descriptors' (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)by inversion _Hsuf_project; subst.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
_sufX: list (composite_transition_item IM)
_final_descriptors': equivocator_descriptors IM
_Hsuf_project: Some (sufX, final_descriptors') = Some (_sufX, _final_descriptors')
Hproper': proper_equivocator_descriptors IM _final_descriptors' (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hpr: ∀ (idescriptors : equivocator_descriptors IM) (trX : list (composite_transition_item IM)), equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, idescriptors) → ∀ i : index, descriptors i = Existing 0 → idescriptors i = Existing 0∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0by intros i Hi; apply Hpr, (proj2 Hproper).message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hpr: ∀ i : index, descriptors i = Existing 0 → final_descriptors' i = Existing 0∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: ∃ l1 l2 : list transition_item, pre = l1 ++ pre_item :: l2
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = pre_pre ++ pre_item :: pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = pre_pre ++ [pre_item] ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ∧ finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}])) suf
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_s0: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}])
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Htr: finite_valid_trace_from XE is ((((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' ((pre_pre ++ [pre_item]) ++ pre_suf) = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is ((pre_pre ++ [pre_item]) ++ pre_suf)) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hs_free: constrained_state_prop FreeE s
Hpre: finite_valid_trace_from XE is ((pre_pre ++ [pre_item]) ++ pre_suf)
Htr_s0: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is (((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}])
Hlst_trX: constrained_state_prop Free lst_trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is ((pre_pre ++ [pre_item]) ++ pre_suf)) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is ((pre_pre ++ [pre_item]) ++ pre_suf))
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is ((pre_pre ++ [pre_item]) ++ pre_suf))
Hpre_free: finite_valid_trace FreeE is ((pre_pre ++ [pre_item]) ++ pre_suf)in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index, Ci: Type
H5: Elements index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: state XE
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Htr_s0: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is (((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index, Ci: Type
H5: Elements index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: state XE
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Htr_s0: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is ((pre_pre ++ [pre_item]) ++ pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index, Ci: Type
H5: Elements index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: state XE
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Htr_s0: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) is (pre_pre ++ [pre_item]) ∧ finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre_pre ++ [pre_item])) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index, Ci: Type
H5: Elements index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: state XE
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hfuture: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre_pre ++ [pre_item])) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index, Ci: Type
H5: Elements index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: state XE
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hfuture: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index, Ci: Type
H5: Elements index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: state XE
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hfuture: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])finite_valid_trace_from_to (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0 ?trby rewrite finite_trace_last_is_last.message, index, Ci: Type
H5: Elements index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: state XE
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hfuture: finite_valid_trace_from (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])finite_trace_last (destination pre_item) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) = s0message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: in_futures (preloaded_with_all_messages_vlsm FreeE) (destination pre_item) s0from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)from_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
_preX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (_preX, _initial_descriptors)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM _initial_descriptors is) _preXfrom_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
_preX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: Some (preX, initial_descriptors) = Some (_preX, _initial_descriptors)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM _initial_descriptors is) _preXfrom_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
_preX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: Some (preX, initial_descriptors) = Some (_preX, _initial_descriptors)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM _initial_descriptors is) _preX
H11: preX = _preX
H12: initial_descriptors = _initial_descriptorsfrom_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
_Htr_project: Some (preX, initial_descriptors) = Some (preX, initial_descriptors)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preXfrom_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preXfrom_sub_projection (equivocator_IM IM) (elements equivocating) pre_itemmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preXis_Some match decide (projT1 (VLSM.l pre_item) ∈ elements equivocating) with | left i_in => Some (composite_label_sub_projection (equivocator_IM IM) (elements equivocating) (VLSM.l pre_item) i_in) | right _ => None endmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Heqv: ¬ composite_has_been_directly_observed IM lst_trX m
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingis_Some Nonemessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingcomposite_has_been_directly_observed IM lst_trX mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatinghas_been_directly_observed (free_composite_vlsm IM) lst_trX mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatinghas_been_directly_observed (free_composite_vlsm IM) ?s1 mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingin_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) ?s1 lst_trXby eapply not_equivocating_sent_message_has_been_directly_observed_in_projection; only 3: rewrite <- elem_of_elements.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatinghas_been_directly_observed (free_composite_vlsm IM) ?s1 mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free lst_trX
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingin_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) lst_trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state XE
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors s)
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE s
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingin_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (equivocators_state_project IM descriptors s)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingin_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingin_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingin_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingin_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingin_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingin_futures (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_constrained_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingfinite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX) sufXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingfinite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX) sufXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: state XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label (composite_type (equivocator_IM IM))
s0: state (composite_type (equivocator_IM IM))
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) preX ∧ finite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM (elements equivocating) ( s0, oom).1
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingfinite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX) sufXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
pre: list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s0: composite_state (equivocator_IM IM)
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: composite_initial_state_prop (equivocator_IM IM) is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project_folder IM {| l := l; input := Some m; destination := s0; output := oom |} (equivocators_trace_project IM descriptors suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) preX ∧ finite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ({| l := l; input := Some m; destination := s0; output := oom |} :: suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ({| l := l; input := Some m; destination := s0; output := oom |} :: suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: output pre_item = Some m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) s0
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingfinite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX) sufXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
pre: list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s0: composite_state (equivocator_IM IM)
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: composite_initial_state_prop (equivocator_IM IM) is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project_folder IM {| l := l; input := Some m; destination := s0; output := oom |} (equivocators_trace_project IM descriptors suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) preX ∧ finite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ({| l := l; input := Some m; destination := s0; output := oom |} :: suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ({| l := l; input := Some m; destination := s0; output := oom |} :: suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: output pre_item = Some m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) s0
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingfinite_valid_trace_from_to (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX) sufXby apply HtrXPre. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
pre: list (composite_transition_item (equivocator_IM IM))
l: composite_label (equivocator_IM IM)
s0: composite_state (equivocator_IM IM)
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
His: composite_initial_state_prop (equivocator_IM IM) is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf))
Hitem: from_sub_projection (equivocator_IM IM) (elements equivocating) {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project_folder IM {| l := l; input := Some m; destination := s0; output := oom |} (equivocators_trace_project IM descriptors suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) preX ∧ finite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ({| l := l; input := Some m; destination := s0; output := oom |} :: suf)
Hlst_trX: constrained_state_prop Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)))
Htr_free: finite_constrained_trace FreeE is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)
Hpre: finite_valid_trace_from XE is pre
Hs_free: constrained_state_prop FreeE (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf))
Hsuf_free: finite_constrained_trace_from FreeE (finite_trace_last is pre) ({| l := l; input := Some m; destination := s0; output := oom |} :: suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: output pre_item = Some m
Hfixed: state_has_fixed_equivocation IM (elements equivocating) s0
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM (elements equivocating) (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
Hl: projT1 (VLSM.l pre_item) ∉ elements equivocatingfinite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm IM)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX
Because any of its projections to the composition of original components contains
all transitions from components not allowed to equivocate, all messages
sent by non-equivocating components in the original trace will also be sent
in any projection.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
Hitem: ∃ l1 l2 : list (composite_transition_item (equivocator_IM IM)), tr = l1 ++ item :: l2
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heq_tr: tr = pre ++ item :: suf
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heq_tr: tr = pre ++ [item] ++ suf
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' pre = Some (preX, initial_descriptors) ∧ trX = preX ++ sufX
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (item_sufX, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Heq_trX: trX = preX ++ item_sufX
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (item_sufX, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m (preX ++ item_sufX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (item_sufX, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) preX ∨ Exists (field_selector output m) item_sufXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (item_sufX, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) item_sufXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' [item] = Some (preX, eqv_pre) ∧ item_sufX = preX ++ sufX
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) item_sufXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Heq_item_sufX: item_sufX = itemXs ++ sufX
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) item_sufXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) (itemXs ++ sufX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXs ∨ Exists (field_selector output m) sufXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item]) ∧ finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hpre: finite_valid_trace_from XE is (pre ++ [item])
Hsuf: finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hpre: finite_valid_trace_from XE is pre ∧ finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (finite_trace_last is (pre ++ [item])) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingfinite_constrained_trace_from FreeE (destination item) sufmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) sufExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingfinite_constrained_trace_from FreeE (destination item) sufby apply constrained_preloaded_incl.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (preloaded_vlsm_machine FreeE (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) sufExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) suf
Hproper_item: proper_fixed_equivocator_descriptors eqv_item (destination item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: ∀ i : index, i ∉ equivocating → eqv_item i = Existing 0Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item))) → ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some (Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item))) → ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some (Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some (Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item))) → ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some (Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))by apply finite_valid_trace_last_pstate in Hitem.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item))) → ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some (Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)valid_state_prop (equivocators_fixed_equivocations_vlsm IM (elements equivocating)) (destination item)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some (Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [{| l := l; input := iom; destination := s; output := oom |}]
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → ∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), let lx := existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) in equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := lx; input := input {| l := l; input := iom; destination := s; output := oom |}; destination := equivocators_state_project IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |}); output := output {| l := l; input := iom; destination := s; output := oom |} |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: input_valid_transition XE (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (finite_trace_last is pre, input {| l := l; input := iom; destination := s; output := oom |}) (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |})
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → ∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), let lx := existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) in equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := lx; input := input {| l := l; input := iom; destination := s; output := oom |}; destination := equivocators_state_project IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |}); output := output {| l := l; input := iom; destination := s; output := oom |} |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: input_valid_transition XE l (finite_trace_last is pre, iom) ( s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → ∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), let lx := existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) in equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := lx; input := input {| l := l; input := iom; destination := s; output := oom |}; destination := equivocators_state_project IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |}); output := output {| l := l; input := iom; destination := s; output := oom |} |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → ∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), let lx := existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) in equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := lx; input := input {| l := l; input := iom; destination := s; output := oom |}; destination := equivocators_state_project IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |}); output := output {| l := l; input := iom; destination := s; output := oom |} |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), (let (i, li) := l in equivocator_valid (IM i) li (s0 i, iom)) → (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (s0 i, iom) in (state_update (equivocator_IM IM) s0 i si', om')) = (s, oom) → ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: match equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hpr_item: Some ([{| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}], eqv_item) = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsby constructor. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
l: label (composite_type (equivocator_IM IM))
iom: option message
s: state (composite_type (equivocator_IM IM))
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: valid l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM (elements equivocating) l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_constrained_trace_from FreeE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) [{| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_pre s; output := oom |}]
As a consequence of the equivocator_vlsm_trace_project_reflect_non_equivocating
lemma, if a message emmitted by a trace cannot be directly observed in a
projection of the trace's final state, then it must be that it was emitted by
one of the components allowed to equivocate.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_directly_observed IM sX m∀ item : composite_transition_item (equivocator_IM IM), item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_directly_observed IM sX m∀ item : composite_transition_item (equivocator_IM IM), item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_directly_observed IM sX m
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX∀ item : composite_transition_item (equivocator_IM IM), item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_directly_observed IM sX m
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some mprojT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_directly_observed IM sX m
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocatingprojT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_directly_observed IM sX m
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocatingcomposite_has_been_directly_observed IM sX mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocatingcomposite_has_been_directly_observed IM sX mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocatingcomposite_has_been_sent IM sX m ∨ composite_has_been_received IM sX mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocatingcomposite_has_been_sent IM sX mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocatingfinite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXcomposite_has_been_sent IM sX mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocatingfinite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXby apply vlsm_incl_preloaded_with_all_messages_vlsm.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocatingVLSM_incl_part (free_composite_vlsm_machine IM) (preloaded_vlsm_machine Free (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trXcomposite_has_been_sent IM sX mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: state (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (preloaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)composite_has_been_sent IM sX mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (preloaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)composite_has_been_sent IM (equivocators_state_project IM descriptors (finite_trace_last is tr)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (preloaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)composite_has_been_sent IM (equivocators_state_project IM descriptors (finite_trace_last is tr)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (preloaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)composite_has_been_sent IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (preloaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_all_preloaded_traces (free_composite_vlsm IM) (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_constrained_trace Free (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (preloaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_some_preloaded_traces (free_composite_vlsm IM) (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (preloaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_some_preloaded_traces (free_composite_vlsm IM) (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocating
HtrX_free: finite_valid_trace (preloaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (preloaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXby eapply equivocator_vlsm_trace_project_reflect_non_equivocating; [.. | contradict n; apply elem_of_elements]. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ elements equivocatingtrace_has_message (field_selector output) m trX
The next two lemmas are rather technical, but their basic meaning is that
if we take the composition of a subset of equivocators, it doesn't matter
the way we do it (either first obtain the indexed subset of components and then
transform that into equivocators and take their composition, or we first
start with the indexed full set of equivocators and then select a subset
of them and take their composition).
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mVLSM_incl (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1) (composite_no_equivocation_vlsm_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mVLSM_incl (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1) (composite_no_equivocation_vlsm_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mstrong_incl_initial_state_preservation (preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mweak_incl_initial_message_preservation (preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mweak_incl_valid_preservation (preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mweak_incl_transition_preservation (preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2)by intro; intros.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mstrong_incl_initial_state_preservation (preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mweak_incl_initial_message_preservation (preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hv: input_valid {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} l (s, Some m)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HmX: initial_message_prop mvalid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} mby destruct HmX; auto.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hv: input_valid {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} l (s, Some m)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HmX: initial_message_prop mcomposite_initial_message_prop (equivocator_IM (sub_IM IM (elements equivocating))) m ∨ seed2 mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mweak_incl_valid_preservation (preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
om: option message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, om)
Hc: no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1 l ( s, om)valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s) → option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} om → valid (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
om: option message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, om)
Hc: no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1 l ( s, om)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} omno_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
om: option message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, om)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed1 l ( s, om)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} omno_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
om: option message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, om)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed1 l ( s, om)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} omcomposite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed1 l ( s, Some m)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed2 (id l) (id s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed1 l ( s, Some m)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed2 (id l) (id s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed1 l ( s, Some m)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed2 l (s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_has_been_sent (sub_IM (equivocator_IM IM) (elements equivocating)) ( s, Some m).1 m
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed2 l (s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_has_been_sent (sub_IM (equivocator_IM IM) (elements equivocating)) ( s, Some m).1 m
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)composite_has_been_sent (equivocator_IM (sub_IM IM (elements equivocating))) (s, Some m).1 mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
Hibs: has_been_sent (sub_IM (equivocator_IM IM) (elements equivocating) subi) ((s, Some m).1 subi) m
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)composite_has_been_sent (equivocator_IM (sub_IM IM (elements equivocating))) (s, Some m).1 mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
Hibs: has_been_sent (sub_IM (equivocator_IM IM) (elements equivocating) subi) ((s, Some m).1 subi) m
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)has_been_sent (equivocator_IM (sub_IM IM (elements equivocating)) subi) ((s, Some m).1 subi) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)has_been_sent (sub_IM (equivocator_IM IM) (elements equivocating) subi) ((s, Some m).1 subi) m → has_been_sent (equivocator_IM (sub_IM IM (elements equivocating)) subi) ((s, Some m).1 subi) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)constrained_state_prop (equivocator_IM (sub_IM IM (elements equivocating)) subi) ((s, Some m).1 subi)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)constrained_state_prop (equivocator_IM (sub_IM IM (elements equivocating)) subi) (s subi)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)constrained_state_prop (free_composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating)))) smessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |} s → constrained_state_prop (free_composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating)))) sby apply constrained_preloaded_vlsm_incl_preloaded_with_all_messages.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1 |}
m: message
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (id s)
HomY: option_valid_message_prop {| vlsm_type := composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2 |} (Some m)VLSM_incl_part (preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1) (preloaded_vlsm_machine (free_composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating)))) (λ _ : message, True))by destruct 1. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mweak_incl_transition_preservation (preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed1)) seed1) (preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed2)) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mVLSM_incl (composite_no_equivocation_vlsm_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1) (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mVLSM_incl (composite_no_equivocation_vlsm_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1) (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: messageinput_valid {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} l (s, Some m) → valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} (id s) → initial_message_prop m → valid_message_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
om: option messageinput_valid {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} l (s, om) → valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} (id s) → option_valid_message_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} om → valid (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: messageinput_valid {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} l (s, Some m) → valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} (id s) → initial_message_prop m → valid_message_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hv: input_valid {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} l (s, Some m)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} (id s)
HmX: initial_message_prop mvalid_message_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} mby destruct HmX; auto.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hv: input_valid {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} l (s, Some m)
HsY: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} (id s)
HmX: initial_message_prop mcomposite_initial_message_prop (sub_IM (equivocator_IM IM) (elements equivocating)) m ∨ seed2 mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
om: option messageinput_valid {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} l (s, om) → valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} (id s) → option_valid_message_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (sub_IM (equivocator_IM IM) (elements equivocating)) (no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2)) seed2 |} om → valid (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
om: option message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, om)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed1 l (s, om)valid (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
om: option message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, om)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed1 l (s, om)no_equivocations_additional_constraint_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
om: option message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, om)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed1 l (s, om)composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed1 l (s, Some m)composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed2 (id l) (id s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed1 l (s, Some m)composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed2 (id l) (id s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM (elements equivocating))) seed1 l (s, Some m)composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed2 l (s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_has_been_sent (equivocator_IM (sub_IM IM (elements equivocating))) (s, Some m).1 mcomposite_no_equivocations_except_from (sub_IM (equivocator_IM IM) (elements equivocating)) seed2 l (s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
Hc: composite_has_been_sent (equivocator_IM (sub_IM IM (elements equivocating))) (s, Some m).1 mcomposite_has_been_sent (sub_IM (equivocator_IM IM) (elements equivocating)) (s, Some m).1 mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
Hibs: has_been_sent (equivocator_IM (sub_IM IM (elements equivocating)) subi) ((s, Some m).1 subi) mcomposite_has_been_sent (sub_IM (equivocator_IM IM) (elements equivocating)) (s, Some m).1 mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)
Hibs: has_been_sent (equivocator_IM (sub_IM IM (elements equivocating)) subi) ((s, Some m).1 subi) mhas_been_sent (sub_IM (equivocator_IM IM) (elements equivocating) subi) ((s, Some m).1 subi) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)has_been_sent (equivocator_IM (sub_IM IM (elements equivocating)) subi) ((s, Some m).1 subi) m → has_been_sent (sub_IM (equivocator_IM IM) (elements equivocating) subi) ((s, Some m).1 subi) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)constrained_state_prop (sub_IM (equivocator_IM IM) (elements equivocating) subi) ((s, Some m).1 subi)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)constrained_state_prop (sub_IM (equivocator_IM IM) (elements equivocating) subi) (s subi)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hs: valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)constrained_state_prop (free_composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating)))) smessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)valid_state_prop {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |} s → constrained_state_prop (free_composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating)))) sby apply constrained_preloaded_vlsm_incl_preloaded_with_all_messages. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
s: state {| vlsm_type := composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1); vlsm_machine := preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1 |}
m: message
Hv: valid l (s, Some m)
subi: sub_index (elements equivocating)VLSM_incl_part (preloaded_vlsm_machine (composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating))) (no_equivocations_additional_constraint_with_preloaded (equivocator_IM (sub_IM IM (elements equivocating))) (free_constraint (equivocator_IM (sub_IM IM (elements equivocating)))) seed1)) seed1) (preloaded_vlsm_machine (free_composite_vlsm (equivocator_IM (sub_IM IM (elements equivocating)))) (λ _ : message, True))
The intermediary results above allow us to prove that the
fixed_equivocation_constraint has the constraint_has_been_sent_property.
The core of this result is proving that given a valid_state
To prove that, we consider a trace witness for the message having been sent,
we use projection_has_not_been_directly_observed_is_equivocating to derive that
it must have been sent by one of the machines allowed to equivocate, from this
we derive that it can be sent by the restriction of the composition of
equivocators to just the equivocating components, preloaded with the messages
directly observed in the projection, then we use
the seeded_equivocators_valid_trace_project result to reach our conclusion.
s
of the
composition of equivocators with no message equivocation and fixed state
equivocation, a message which has_been_sent for that state but not
has_been_directly_observed for a projection of that state sx
, can nevertheless be
generated by the composition of the components allowed to equivocate, preloaded with
the messages directly observed in the state sx
.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM messageconstraint_has_been_sent_prop (fixed_equivocation_constraint IM equivocating)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM messageconstraint_has_been_sent_prop (fixed_equivocation_constraint IM equivocating)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message∀ s : composite_state (equivocator_IM IM), valid_state_prop XE s → ∀ descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors descriptors s → ∀ m : message, has_been_sent FreeE s m → ∀ l : composite_label IM, fixed_equivocation_constraint IM equivocating l (equivocators_state_project IM descriptors s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
l: composite_label IMfixed_equivocation_constraint IM equivocating l (equivocators_state_project IM descriptors s, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
l: composite_label IM
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors sfixed_equivocation_constraint IM equivocating l (sX, Some m)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
l: composite_label IM
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX mcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX mcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) m(* Phase I: exhibiting a [valid_trace] ending in tr s and sending m *)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX mcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
Hs: ∃ (is : state XE) (tr : list transition_item), finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX mcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX mcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX mfinite_constrained_trace_init_to FreeE is s trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s trcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX mfinite_constrained_trace_init_to FreeE is s trby apply constrained_preloaded_incl.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX mVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (preloaded_vlsm_machine FreeE (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s trcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hplst: constrained_state_prop FreeE scan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: selected_message_exists_in_all_preloaded_traces FreeE (field_selector output) s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hplst: constrained_state_prop FreeE scan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: selected_message_exists_in_all_preloaded_traces FreeE (field_selector output) s m
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s trcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) m(* Phase II (a): The restriction of tr to the equivocators allowed to state-equivocate is valid for the corresponding composition preloaded with the messages directly observed in the projection sX of s. *)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s trcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: ∀ (s : composite_state (equivocator_IM IM)) (tr : list (composite_transition_item (equivocator_IM IM))), trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM sX) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) s tr → finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) s) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM sX) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM sX) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM sX) trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM sX) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM sX) trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s)) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s))) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s)) trapply (equivocators_trace_sub_item_input_is_seeded_or_sub_previously_sent _ _ (valid_trace_forget_last Htr) descriptors Hdescriptors).message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
Hm: trace_has_message (field_selector output) m tr
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s)) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s))) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) (elements equivocating) (composite_has_been_directly_observed IM (equivocators_state_project IM descriptors (finite_trace_last is tr))) trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM sX m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) m(* Phase III (a): Obtain a projection trXm of tr outputing m using a final_descriptor_m *)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_constrained_trace_init_to FreeE is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) m(* Identify the item outputing m in trXm an its corresponding item in tr. *)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector output m) trXm
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
Hex: ∃ x : transition_item, x ∈ trXm ∧ field_selector output m x
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
Hin: output_itemX ∈ trXm
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
Hin: ∃ l1 l2 : list transition_item, trXm = l1 ++ output_itemX :: l2
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ output_itemX :: sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
Hpr_item: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
Hpr_item: equivocators_trace_project IM final_descriptors_m tr = Some (preX ++ [output_itemX] ++ sufX, initial_descriptors_m)can_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
Hpr_item: ∃ (pre suf : list (composite_transition_item (equivocator_IM IM))) (item : composite_transition_item (equivocator_IM IM)) (item_descriptors pre_descriptors : equivocator_descriptors IM), equivocators_trace_project IM final_descriptors_m suf = Some (sufX, item_descriptors) ∧ equivocators_transition_item_project IM item_descriptors item = Some (Some output_itemX, pre_descriptors) ∧ equivocators_trace_project IM pre_descriptors pre = Some (preX, initial_descriptors_m) ∧ tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
Hpr_item: equivocators_transition_item_project IM item_descriptors item = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
Hpr_item: match equivocator_vlsm_transition_item_project (IM (projT1 (l item))) (composite_transition_item_projection (equivocator_IM IM) item) (item_descriptors (projT1 (l item))) with | Some (Some item', deqv') => Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') | None => None end = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
o: option transition_item
deqv': MachineDescriptor (IM (projT1 (l item)))
Hpr_item: match o with | Some item' => Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') | None => Some (None, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') end = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
item': transition_item
deqv': MachineDescriptor (IM (projT1 (l item)))
Hpr_item: Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
item': transition_item
deqv': MachineDescriptor (IM (projT1 (l item)))
Hpr_item: Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ suf
H11: {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |} = output_itemX
H12: equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv' = pre_descriptorscan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: field_selector output m {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
deqv': MachineDescriptor (IM (projT1 (l item)))
Hpr_item: Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') = Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv')
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: field_selector output m {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) m(* show that that item must be specifying a transition for an equivocating component *)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors (finite_trace_last is tr)) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
n: ¬ composite_has_been_directly_observed IM (equivocators_state_project IM descriptors (finite_trace_last is tr)) m
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: output item = Some m → projT1 (l item) ∈ equivocatingcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) m(* Phase III (b): Consider a projection trX' obtained using the final_descriptor_m as above, but first restricting the components to just the equivocators allowed to equivocate. We will show that we can use [seeded_equivocators_valid_trace_project] and leverage the result from Phase II (a) to derive that the resulting projection is valid. *)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocatingcan_emit (equivocators_composition_for_directly_observed IM equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocatingcan_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), let isX := equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) in let final_stateX := finite_trace_last isX trX in proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = final_stateX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) isX trXcan_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trXcan_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trXproper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trXcan_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trXproper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX
Heq_lst: let lstx := finite_trace_last is tr in let lstj := finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) in lstj = composite_state_sub_projection (equivocator_IM IM) (elements equivocating) lstxproper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = composite_state_sub_projection (equivocator_IM IM) (elements equivocating) (finite_trace_last is tr)proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = composite_state_sub_projection (equivocator_IM IM) (elements equivocating) (finite_trace_last is tr)proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) (finite_trace_last is tr))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = composite_state_sub_projection (equivocator_IM IM) (elements equivocating) (finite_trace_last is tr)
e: sub_index (elements equivocating)proper_descriptor (IM (`e)) (final_descriptors_m (`e)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) (finite_trace_last is tr) e)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = composite_state_sub_projection (equivocator_IM IM) (elements equivocating) (finite_trace_last is tr)
x: index
i: bool_decide (sub_index_prop (elements equivocating) x)proper_descriptor (IM (`(x ↾ i))) (final_descriptors_m (`(x ↾ i))) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) (finite_trace_last is tr) (x ↾ i))by apply Hfinal_descriptors_m.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: proper_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) → ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = composite_state_sub_projection (equivocator_IM IM) (elements equivocating) (finite_trace_last is tr)
x: index
i: bool_decide (sub_index_prop (elements equivocating) x)proper_descriptor (IM (`(x ↾ i))) (final_descriptors_m (`(x ↾ i))) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) (finite_trace_last is tr) (x ↾ i))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: ∃ (trX : list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))) (initial_descriptors : equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))), proper_equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) ∧ equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)) = finite_trace_last (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX ∧ finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trXcan_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (preloaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_preloaded (sub_IM (equivocator_IM IM) (elements equivocating)) (free_constraint (sub_IM (equivocator_IM IM) (elements equivocating))) (composite_has_been_directly_observed IM sX)) (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
Hpr_tr': equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX', initial_descriptors')
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX'can_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) m(* State that by restricting trXm to the subset of equivocating components we obtain the same trX' trace. *)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
Hpr_tr': equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX', initial_descriptors')
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX'can_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
Hpr_tr': equivocators_trace_project (λ i : sub_index (elements equivocating), IM (`i)) (λ i : sub_index (elements equivocating), final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) (elements equivocating) tr) = Some (trX', initial_descriptors')
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX'
HeqtrX: finite_trace_sub_projection IM (elements equivocating) trXm = trX'can_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) m(* reduce the goal to showing that the message appears in trX'. *)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX'
HeqtrX: finite_trace_sub_projection IM (elements equivocating) trXm = trX'can_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX'
HeqtrX: finite_trace_sub_projection IM (elements equivocating) trXm = trX'
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))
HeqisX: isX = equivocators_state_project (sub_IM IM (elements equivocating)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)can_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX'
HeqtrX: finite_trace_sub_projection IM (elements equivocating) trXm = trX'
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))can_emit (preloaded_vlsm (free_equivocating_vlsm_composition IM equivocating) (composite_has_been_directly_observed IM sX)) mmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: state (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (λ i : sub_index (elements equivocating), IM (`i)))
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) trX'
HeqtrX: finite_trace_sub_projection IM (elements equivocating) trXm = trX'
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))trace_has_message (field_selector output) m trX'message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
sX: state (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))trace_has_message (field_selector output) m (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
sX: state (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))trace_has_message (field_selector output) m (finite_trace_sub_projection IM (elements equivocating) preX ++ finite_trace_sub_projection IM (elements equivocating) [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ finite_trace_sub_projection IM (elements equivocating) sufX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
sX: state (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))Exists (field_selector output m) (finite_trace_sub_projection IM (elements equivocating) preX ++ finite_trace_sub_projection IM (elements equivocating) [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ finite_trace_sub_projection IM (elements equivocating) sufX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
sX: state (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))Exists (field_selector output m) (finite_trace_sub_projection IM (elements equivocating) preX) ∨ Exists (field_selector output m) (finite_trace_sub_projection IM (elements equivocating) [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}]) ∨ Exists (field_selector output m) (finite_trace_sub_projection IM (elements equivocating) sufX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
sX: state (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))Exists (field_selector output m) (finite_trace_sub_projection IM (elements equivocating) [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}]) ∨ Exists (field_selector output m) (finite_trace_sub_projection IM (elements equivocating) sufX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
sX: state (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))Exists (field_selector output m) (finite_trace_sub_projection IM (elements equivocating) [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}])message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
sX: state (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))Exists (field_selector output m) match pre_VLSM_projection_transition_item_project (composite_type IM) (composite_type (sub_IM IM (elements equivocating))) (composite_label_sub_projection_option IM (elements equivocating)) (composite_state_sub_projection IM (elements equivocating)) {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |} with | Some y => [y] | None => [] endmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
sX: state (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))Exists (field_selector output m) match match match decide (projT1 (l {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}) ∈ elements equivocating) with | left i_in => Some (composite_label_sub_projection IM (elements equivocating) (l {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}) i_in) | right _ => None end with | Some lY => Some {| l := lY; input := input {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}; destination := composite_state_sub_projection IM (elements equivocating) (destination {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}); output := output {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |} |} | None => None end with | Some y => [y] | None => [] endby case_decide; [constructor |]. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
s: composite_state (equivocator_IM IM)
is: state XE
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': transition_item
Houtput_select: output item = Some m
sX: state (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ elements equivocating
initial_descriptors': equivocator_descriptors (λ i : sub_index (elements equivocating), IM (`i))
HtrX: finite_valid_trace (preloaded_vlsm (free_composite_vlsm (sub_IM IM (elements equivocating))) (composite_has_been_directly_observed IM sX)) (equivocators_state_project (λ i : sub_index (elements equivocating), IM (`i)) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) (elements equivocating) is)) (finite_trace_sub_projection IM (elements equivocating) (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))
isX: state (free_composite_vlsm (sub_IM IM (elements equivocating)))Exists (field_selector output m) match match match decide (projT1 (l {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}) ∈ elements equivocating) with | left i_in => Some (composite_label_sub_projection IM (elements equivocating) (l {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}) i_in) | right _ => None end with | Some lY => Some {| l := lY; input := input {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}; destination := composite_state_sub_projection IM (elements equivocating) (destination {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}); output := output {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |} |} | None => None end with | Some y => [y] | None => [] end
Main result of this section, stating that traces which are valid for the
equivocator-based definition of fixed equivocation project to traces which are
valid for the simple-components definition of fixed equivocation.
message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X isX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X isX trXby apply fixed_equivocation_constraint_has_constraint_has_been_sent_prop. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state (composite_type (equivocator_IM IM))
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is trconstraint_has_been_sent_prop (fixed_equivocation_constraint IM equivocating)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IMVLSM_partial_projection XE X (equivocators_partial_trace_project IM final_descriptors)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IMVLSM_partial_projection XE X (equivocators_partial_trace_project IM final_descriptors)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM∀ (sX : state XE) (trX : list transition_item) (sY : state X) (trY : list transition_item), equivocators_partial_trace_project IM final_descriptors (sX, trX) = Some (sY, trY) → ∀ (s'X : state XE) (preX : list transition_item), finite_trace_last s'X preX = sX → finite_valid_trace_from XE s'X (preX ++ trX) → ∃ (s'Y : state X) (preY : list transition_item), equivocators_partial_trace_project IM final_descriptors (s'X, preX ++ trX) = Some (s'Y, preY ++ trY) ∧ finite_trace_last s'Y preY = sYmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM∀ (sX : state XE) (trX : list transition_item) (sY : state X) (trY : list transition_item), equivocators_partial_trace_project IM final_descriptors ( sX, trX) = Some (sY, trY) → finite_valid_trace XE sX trX → finite_valid_trace X sY trYmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM∀ (sX : state XE) (trX : list transition_item) (sY : state X) (trY : list transition_item), equivocators_partial_trace_project IM final_descriptors (sX, trX) = Some (sY, trY) → ∀ (s'X : state XE) (preX : list transition_item), finite_trace_last s'X preX = sX → finite_valid_trace_from XE s'X (preX ++ trX) → ∃ (s'Y : state X) (preY : list transition_item), equivocators_partial_trace_project IM final_descriptors (s'X, preX ++ trX) = Some (s'Y, preY ++ trY) ∧ finite_trace_last s'Y preY = sYmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
s_pre: state XE
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)∃ (s'Y : state X) (preY : list transition_item), equivocators_partial_trace_project IM final_descriptors (s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
s_pre: state XE
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)finite_constrained_trace_from FreeE s_pre (pre ++ tr)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
s_pre: state XE
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)
HPreFree_pre_tr: finite_constrained_trace_from FreeE s_pre (pre ++ tr)∃ (s'Y : state X) (preY : list transition_item), equivocators_partial_trace_project IM final_descriptors ( s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
s_pre: state XE
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)finite_constrained_trace_from FreeE s_pre (pre ++ tr)by apply equivocators_fixed_equivocations_vlsm_incl_PreFree.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
s_pre: state XE
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = sVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (preloaded_vlsm_machine FreeE (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
s_pre: state XE
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)
HPreFree_pre_tr: finite_constrained_trace_from FreeE s_pre (pre ++ tr)∃ (s'Y : state X) (preY : list transition_item), equivocators_partial_trace_project IM final_descriptors (s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
s_pre: state XE
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
HPreFree_pre_tr: finite_constrained_trace_from FreeE s_pre (pre ++ tr)∃ (s'Y : state X) (preY : list transition_item), equivocators_partial_trace_project IM final_descriptors (s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXapply equivocators_partial_trace_project_extends_left.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM∀ (s : state XE) (tr : list transition_item) (sX : state X) (trX : list transition_item), equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX) → ∀ (s_pre : state XE) (pre : list transition_item), finite_trace_last s_pre pre = s → finite_constrained_trace_from FreeE s_pre (pre ++ tr) → ∃ (s'Y : state X) (preY : list transition_item), equivocators_partial_trace_project IM final_descriptors (s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM∀ (sX : state XE) (trX : list transition_item) (sY : state X) (trY : list transition_item), equivocators_partial_trace_project IM final_descriptors (sX, trX) = Some (sY, trY) → finite_valid_trace XE sX trX → finite_valid_trace X sY trYmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s trfinite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sXfinite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sX
Hlst: valid_state_prop XE (finite_trace_last s tr)finite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sX
Hlst: valid_state_prop XE (finite_trace_last s tr)
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last s tr)finite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sX
Hlst: valid_state_prop XE (finite_trace_last s tr)
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last s tr)
_trX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: equivocators_trace_project IM final_descriptors tr = Some (_trX, _initial_descriptors)
HtrX: finite_valid_trace X (equivocators_state_project IM _initial_descriptors s) _trXfinite_valid_trace X sX trXby inversion _Htr_project; subst. Qed.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
final_descriptors: equivocator_descriptors IM
s: state XE
tr: list transition_item
sX: state X
trX: list transition_item
Hpr_tr: equivocators_partial_trace_project IM final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sX
Hlst: valid_state_prop XE (finite_trace_last s tr)
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last s tr)
_trX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: Some (trX, initial_descriptors) = Some (_trX, _initial_descriptors)
HtrX: finite_valid_trace X (equivocators_state_project IM _initial_descriptors s) _trXfinite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM messageVLSM_projection XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM messageVLSM_projection XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace_from XE sX trXequivocators_total_state_project IM (finite_trace_last sX trX) = finite_trace_last (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trXfinite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace_from XE sX trXequivocators_total_state_project IM (finite_trace_last sX trX) = finite_trace_last (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace_from XE sX trXfinite_valid_trace_from (preloaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM))) sX trXby apply equivocators_fixed_equivocations_vlsm_incl_PreFree.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace_from XE sX trXVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (preloaded_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trXfinite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trXfinite_constrained_trace FreeE sX trXmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trX
Hpre_tr: finite_constrained_trace FreeE sX trXfinite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trXfinite_constrained_trace FreeE sX trXby apply equivocators_fixed_equivocations_vlsm_incl_PreFree.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trXVLSM_incl_part (constrained_vlsm_machine (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (elements equivocating))) (preloaded_vlsm_machine FreeE (λ _ : message, True))message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trX
Hpre_tr: finite_constrained_trace FreeE sX trXfinite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trX
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: equivocators_partial_trace_project IM (zero_descriptor IM) ( sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)finite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trX
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: equivocators_partial_trace_project IM (zero_descriptor IM) ( sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)equivocators_partial_trace_project IM (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trX
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)finite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trX
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: equivocators_partial_trace_project IM (zero_descriptor IM) ( sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)equivocators_partial_trace_project IM (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trX
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: equivocators_partial_trace_project IM (zero_descriptor IM) ( sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)(if decide (not_equivocating_equivocator_descriptors IM (zero_descriptor IM) (finite_trace_last sX trX)) then match equivocators_trace_project IM (zero_descriptor IM) trX with | Some (trX, initial_descriptors) => Some (equivocators_state_project IM initial_descriptors sX, trX) | None => None end else None) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX)by rewrite (equivocators_total_trace_project_characterization IM (proj1 Hpre_tr)).message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trX
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: equivocators_partial_trace_project IM (zero_descriptor IM) ( sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)match equivocators_trace_project IM (zero_descriptor IM) trX with | Some (trX, initial_descriptors) => Some (equivocators_state_project IM initial_descriptors sX, trX) | None => None end = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace XE sX trX
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)finite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)finite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
tr: list transition_item
Heqtr: tr = pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trXfinite_valid_trace X (equivocators_total_state_project IM sX) trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
tr: list transition_item
Heqtr: tr = pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trXequivocators_total_trace_project IM trX = trmessage: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)equivocators_total_trace_project IM trX = pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trXby apply (equivocators_total_VLSM_projection_finite_trace_project IM (proj1 Hpre_tr)). Qed. End sec_from_equivocators_to_components. Section sec_all_equivocating.message: Type
EqDecision0: EqDecision message
index, Ci: Type
H: ElemOf index Ci
H0: Empty Ci
H1: Singleton index Ci
H2: Union Ci
H3: Intersection Ci
H4: Difference Ci
H5: Elements index Ci
EqDecision1: EqDecision index
H6: FinSet index Ci
EqDecision2: EqDecision index
H7: finite.Finite index
IM: index → VLSM message
H8: ∀ i : index, HasBeenSentCapability (IM i)
H9: ∀ i : index, HasBeenReceivedCapability (IM i)
equivocating: Ci
XE:= equivocators_fixed_equivocations_vlsm IM (elements equivocating): VLSM message
X:= fixed_equivocation_vlsm_composition IM equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
Hdec_init: ∀ i : index, decidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
sX: state XE
trX: list transition_item
HtrX: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_constrained_trace FreeE sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)pre_VLSM_projection_finite_trace_project XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX = equivocators_total_trace_project IM trX
Fixed Equivocation for all Equivocators
Context {message : Type} `{finite.Finite index} (IM : index -> VLSM message) `{forall i : index, HasBeenSentCapability (IM i)} (XE : VLSM message := equivocators_fixed_equivocations_vlsm IM (enum index)) (NE : VLSM message := equivocators_no_equivocations_vlsm IM) .message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messagestrong_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_no_equivocations_constraint IM) (equivocators_fixed_equivocations_constraint IM (enum index))by split; [| intro; intros; apply elem_of_enum]. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messagestrong_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_no_equivocations_constraint IM) (equivocators_fixed_equivocations_constraint IM (enum index))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messagestrong_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (enum index)) (equivocators_no_equivocations_constraint IM)by intros l [s om] Hv; apply Hv. Qed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messagestrong_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (enum index)) (equivocators_no_equivocations_constraint IM)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messageVLSM_eq XE NEmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messageVLSM_eq XE NEmessage, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messageVLSM_incl {| vlsm_type := XE; vlsm_machine := XE |} {| vlsm_type := XE; vlsm_machine := NE |}message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messageVLSM_incl {| vlsm_type := XE; vlsm_machine := NE |} {| vlsm_type := XE; vlsm_machine := XE |}message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messageVLSM_incl {| vlsm_type := XE; vlsm_machine := XE |} {| vlsm_type := XE; vlsm_machine := NE |}message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messageinput_valid_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (enum index)) (equivocators_no_equivocations_constraint IM)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messagepreloaded_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (enum index)) (equivocators_no_equivocations_constraint IM)by apply strong_constraint_subsumption_all_fixed.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messagestrong_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_fixed_equivocations_constraint IM (enum index)) (equivocators_no_equivocations_constraint IM)message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messageVLSM_incl {| vlsm_type := XE; vlsm_machine := NE |} {| vlsm_type := XE; vlsm_machine := XE |}message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messageinput_valid_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_no_equivocations_constraint IM) (equivocators_fixed_equivocations_constraint IM (enum index))message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messagepreloaded_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_no_equivocations_constraint IM) (equivocators_fixed_equivocations_constraint IM (enum index))by apply strong_constraint_subsumption_fixed_all. Qed. End sec_all_equivocating.message, index: Type
EqDecision0: EqDecision index
H: finite.Finite index
IM: index → VLSM message
H0: ∀ i : index, HasBeenSentCapability (IM i)
XE:= equivocators_fixed_equivocations_vlsm IM (enum index): VLSM message
NE:= equivocators_no_equivocations_vlsm IM: VLSM messagestrong_constraint_subsumption (free_composite_vlsm (equivocator_IM IM)) (equivocators_no_equivocations_constraint IM) (equivocators_fixed_equivocations_constraint IM (enum index))