Step
*
2
2
1
1
1
2
of Lemma
consensus-refinement5
1. V : Type
2. A : Id List@i
3. W : {a:Id| (a ∈ A)}  List List@i
4. 1 < ||W||@i
5. two-intersection(A;W)@i
6. x1 : ConsensusState@i
7. x2 : Knowledge(ConsensusState)@i
8. ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <x1, x2>@i
9. v : V@i
10. ∀a:{a:Id| (a ∈ A)} 
      ((Inning(x1;a) = 0 ∈ ℤ)
      ∧ (Estimate(x1;a) = 0 : v ∈ i:ℤ fp-> V)
      ∧ (Knowledge(x2;a) = mk_fpf(A;λb.<0, ff>) ∈ b:Id fp-> ℤ × (ℤ × V + Top)))@i
11. u : {a:Id| (a ∈ A)} @i
12. v1 : {a:Id| (a ∈ A)}  List@i
13. ts-init(consensus-ts6(V;A;W)) (ts-rel(consensus-ts6(V;A;W))^*) (λa.if a ∈b v1) then [Archive(v)] else [] fi )@i
⊢ ts-init(consensus-ts6(V;A;W)) (ts-rel(consensus-ts6(V;A;W))^*) (λa.if a ∈b [u / v1]) then [Archive(v)] else [] fi )
BY
{ (((Using [`y',⌈λa.if a ∈b v1) then [Archive(v)] else [] fi ⌉] (BLemma `rel_star_transitivity`)⋅
    THENM (Try (Trivial) THEN ((Decide (u ∈ v1) THENA Auto) THENL [BLemma `rel_star_weakening`; BLemma `rel_rel_star`]))
    )
    THENA (Auto THEN RepUR ``ts-type consensus-ts6 consensus-state6`` 0 THEN Auto)
    )
   THEN Thin (-2)
   THEN RepUR ``ts-rel ts-type consensus-state6 consensus-ts6`` 0) }
1
1. V : Type
2. A : Id List@i
3. W : {a:Id| (a ∈ A)}  List List@i
4. 1 < ||W||@i
5. two-intersection(A;W)@i
6. x1 : ConsensusState@i
7. x2 : Knowledge(ConsensusState)@i
8. ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <x1, x2>@i
9. v : V@i
10. ∀a:{a:Id| (a ∈ A)} 
      ((Inning(x1;a) = 0 ∈ ℤ)
      ∧ (Estimate(x1;a) = 0 : v ∈ i:ℤ fp-> V)
      ∧ (Knowledge(x2;a) = mk_fpf(A;λb.<0, ff>) ∈ b:Id fp-> ℤ × (ℤ × V + Top)))@i
11. u : {a:Id| (a ∈ A)} @i
12. v1 : {a:Id| (a ∈ A)}  List@i
13. (u ∈ v1)
⊢ (λa.if a ∈b v1) then [Archive(v)] else [] fi )
= (λa.if (IdDeq u a) ∨ba ∈b v1) then [Archive(v)] else [] fi )
∈ ({a:Id| (a ∈ A)}  ─→ (consensus-event(V;A) List))
2
1. V : Type
2. A : Id List@i
3. W : {a:Id| (a ∈ A)}  List List@i
4. 1 < ||W||@i
5. two-intersection(A;W)@i
6. x1 : ConsensusState@i
7. x2 : Knowledge(ConsensusState)@i
8. ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <x1, x2>@i
9. v : V@i
10. ∀a:{a:Id| (a ∈ A)} 
      ((Inning(x1;a) = 0 ∈ ℤ)
      ∧ (Estimate(x1;a) = 0 : v ∈ i:ℤ fp-> V)
      ∧ (Knowledge(x2;a) = mk_fpf(A;λb.<0, ff>) ∈ b:Id fp-> ℤ × (ℤ × V + Top)))@i
11. u : {a:Id| (a ∈ A)} @i
12. v1 : {a:Id| (a ∈ A)}  List@i
13. ¬(u ∈ v1)
⊢ ∃a:{a:Id| (a ∈ A)} 
   ∃e:consensus-event(V;A)
    (e@a allowed in state λa.if a ∈b v1) then [Archive(v)] else [] fi 
    ∧ λa.if (IdDeq u a) ∨ba ∈b v1) then [Archive(v)] else [] fi  = λa.if a ∈b v1)
                                                                      then [Archive(v)]
                                                                      else []
                                                                      fi  after e@a)
Latex:
1.  V  :  Type
2.  A  :  Id  List@i
3.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
4.  1  <  ||W||@i
5.  two-intersection(A;W)@i
6.  x1  :  ConsensusState@i
7.  x2  :  Knowledge(ConsensusState)@i
8.  ts-init(consensus-ts5(V;A;W)) 
      (ts-rel(consensus-ts5(V;A;W))\^{}*) 
      <x1,  x2>@i
9.  v  :  V@i
10.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\} 
            ((Inning(x1;a)  =  0)  \mwedge{}  (Estimate(x1;a)  =  0  :  v)  \mwedge{}  (Knowledge(x2;a)  =  mk\_fpf(A;\mlambda{}b.ɘ,  ff>)))@i
11.  u  :  \{a:Id|  (a  \mmember{}  A)\}  @i
12.  v1  :  \{a:Id|  (a  \mmember{}  A)\}    List@i
13.  ts-init(consensus-ts6(V;A;W)) 
        rel\_star(ts-type(consensus-ts6(V;A;W));  ts-rel(consensus-ts6(V;A;W))) 
        (\mlambda{}a.if  a  \mmember{}\msubb{}  v1)  then  [Archive(v)]  else  []  fi  )@i
\mvdash{}  ts-init(consensus-ts6(V;A;W)) 
    rel\_star(ts-type(consensus-ts6(V;A;W));  ts-rel(consensus-ts6(V;A;W))) 
    (\mlambda{}a.if  a  \mmember{}\msubb{}  [u  /  v1])  then  [Archive(v)]  else  []  fi  )
By
(((Using  [`y',\mkleeneopen{}\mlambda{}a.if  a  \mmember{}\msubb{}  v1)  then  [Archive(v)]  else  []  fi  \mkleeneclose{}]  (BLemma  `rel\_star\_transitivity`)\mcdot{}
    THENM  (Try  (Trivial)
                  THEN  ((Decide  (u  \mmember{}  v1)  THENA  Auto)
                              THENL  [BLemma  `rel\_star\_weakening`;  BLemma  `rel\_rel\_star`]
                            )
                  )
    )
    THENA  (Auto  THEN  RepUR  ``ts-type  consensus-ts6  consensus-state6``  0  THEN  Auto)
    )
  THEN  Thin  (-2)
  THEN  RepUR  ``ts-rel  ts-type  consensus-state6  consensus-ts6``  0)
Home
Index