Step
*
1
1
2
1
of Lemma
consensus-refinement4
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. ∃v,v':V. (¬(v = v' ∈ V))@i
4. A : Id List@i
5. W : {a:Id| (a ∈ A)}  List List@i
6. 1 < ||W||@i
7. two-intersection(A;W)@i
8. ∀L:Id List. (L ⊆ A 
⇒ ((λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) (λa.if a ∈b L) then <0, ⊗> else <-1, ⊗> fi )))
9. (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) (λa.if a ∈b A) then <0, ⊗> else <-1, ⊗> fi )
⊢ (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) (λa.<0, ⊗>)
BY
{ (Subst ⌈(λa.if a ∈b A) then <0, ⊗> else <-1, ⊗> fi ) = (λa.<0, ⊗>) ∈ ConsensusState⌉ (-1)⋅
   THENA (Auto
          THEN Unfold `consensus-state4` 0
          THEN Auto
          THEN EqCD
          THEN Try ((D -1 THEN SplitOnConclITE THEN Auto))
          THEN Auto)
   ) }
1
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. ∃v,v':V. (¬(v = v' ∈ V))@i
4. A : Id List@i
5. W : {a:Id| (a ∈ A)}  List List@i
6. 1 < ||W||@i
7. two-intersection(A;W)@i
8. ∀L:Id List. (L ⊆ A 
⇒ ((λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) (λa.if a ∈b L) then <0, ⊗> else <-1, ⊗> fi )))
9. (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) (λa.<0, ⊗>)
⊢ (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) (λa.<0, ⊗>)
Latex:
1.  [V]  :  Type
2.  \mforall{}v1,v2:V.    Dec(v1  =  v2)@i
3.  \mexists{}v,v':V.  (\mneg{}(v  =  v'))@i
4.  A  :  Id  List@i
5.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
6.  1  <  ||W||@i
7.  two-intersection(A;W)@i
8.  \mforall{}L:Id  List
          (L  \msubseteq{}  A  {}\mRightarrow{}  ((\mlambda{}a.<-1,  \motimes{}>)  ((\mlambda{}x,y.  CR[x,y])\^{}*)  (\mlambda{}a.if  a  \mmember{}\msubb{}  L)  then  ɘ,  \motimes{}>  else  <-1,  \motimes{}>  fi  )))
9.  (\mlambda{}a.<-1,  \motimes{}>)  rel\_star(ConsensusState;  \mlambda{}x,y.  CR[x,y])  (\mlambda{}a.if  a  \mmember{}\msubb{}  A)  then  ɘ,  \motimes{}>  else  <-1,  \motimes{}>  fi  )
\mvdash{}  (\mlambda{}a.<-1,  \motimes{}>) 
    ((\mlambda{}x,y.  CR[x,y])\^{}*) 
    (\mlambda{}a.ɘ,  \motimes{}>)
By
(Subst  \mkleeneopen{}(\mlambda{}a.if  a  \mmember{}\msubb{}  A)  then  ɘ,  \motimes{}>  else  <-1,  \motimes{}>  fi  )  =  (\mlambda{}a.ɘ,  \motimes{}>)\mkleeneclose{}  (-1)\mcdot{}
  THENA  (Auto
                THEN  Unfold  `consensus-state4`  0
                THEN  Auto
                THEN  EqCD
                THEN  Try  ((D  -1  THEN  SplitOnConclITE  THEN  Auto))
                THEN  Auto)
  )
Home
Index