Step
*
of Lemma
consensus-refinement3
∀[V:Type]
  ((∀v1,v2:V.  Dec(v1 = v2 ∈ V))
  
⇒ {∃v,v':V. (¬(v = v' ∈ V))}
  
⇒ (∀L:V List. Dec(∃v:V. (¬(v ∈ L))))
  
⇒ (∀A:Id List. ∀W:{a:Id| (a ∈ A)}  List List.
        two-intersection(A;W)
        
⇒ (∀f:ConsensusState ─→ (consensus-state3(V) List)
              (cs-ref-map-constraints(V;A;W;f) 
⇒ ts-refinement(consensus-ts3(V);consensus-ts4(V;A;W);f))) 
        supposing ||W|| ≥ 1 ))
BY
{ (Auto
   THEN (Assert ∃a:Id. (a ∈ A) BY
               (DVar `W'
                THEN All Reduce
                THEN Auto
                THEN OnMaybeHyp 8 (\h. (Unfold `two-intersection` h
                                        THEN (RWW "l_all_iff" h THENA Auto)
                                        THEN (InstHyp [⌈u⌉;⌈u⌉] h⋅ THENA Auto)
                                        THEN ParallelLast
                                        THEN DVar `a'
                                        THEN Unhide
                                        THEN Auto))))
   THEN PromoteHyp (-1) 6) }
1
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. {∃v,v':V. (¬(v = v' ∈ V))}@i
4. ∀L:V List. Dec(∃v:V. (¬(v ∈ L)))@i
5. A : Id List@i
6. ∃a:Id. (a ∈ A)
7. W : {a:Id| (a ∈ A)}  List List@i
8. ||W|| ≥ 1 
9. two-intersection(A;W)@i
10. f : ConsensusState ─→ (consensus-state3(V) List)@i
11. cs-ref-map-constraints(V;A;W;f)@i
⊢ ts-refinement(consensus-ts3(V);consensus-ts4(V;A;W);f)
Latex:
\mforall{}[V:Type]
    ((\mforall{}v1,v2:V.    Dec(v1  =  v2))
    {}\mRightarrow{}  \{\mexists{}v,v':V.  (\mneg{}(v  =  v'))\}
    {}\mRightarrow{}  (\mforall{}L:V  List.  Dec(\mexists{}v:V.  (\mneg{}(v  \mmember{}  L))))
    {}\mRightarrow{}  (\mforall{}A:Id  List.  \mforall{}W:\{a:Id|  (a  \mmember{}  A)\}    List  List.
                two-intersection(A;W)
                {}\mRightarrow{}  (\mforall{}f:ConsensusState  {}\mrightarrow{}  (consensus-state3(V)  List)
                            (cs-ref-map-constraints(V;A;W;f)
                            {}\mRightarrow{}  ts-refinement(consensus-ts3(V);consensus-ts4(V;A;W);f))) 
                supposing  ||W||  \mgeq{}  1  ))
By
(Auto
  THEN  (Assert  \mexists{}a:Id.  (a  \mmember{}  A)  BY
                          (DVar  `W'
                            THEN  All  Reduce
                            THEN  Auto
                            THEN  OnMaybeHyp  8  (\mbackslash{}h.  (Unfold  `two-intersection`  h
                                                                            THEN  (RWW  "l\_all\_iff"  h  THENA  Auto)
                                                                            THEN  (InstHyp  [\mkleeneopen{}u\mkleeneclose{};\mkleeneopen{}u\mkleeneclose{}]  h\mcdot{}  THENA  Auto)
                                                                            THEN  ParallelLast
                                                                            THEN  DVar  `a'
                                                                            THEN  Unhide
                                                                            THEN  Auto))))
  THEN  PromoteHyp  (-1)  6)
Home
Index