Step
*
3
1
of Lemma
consensus-ts5-true-knowledge
1. [V] : Type
2. A : Id List@i
3. W : {a:Id| (a ∈ A)}  List List@i
4. x1 : ConsensusState@i
5. x2 : Knowledge(ConsensusState)@i
6. \\%1 : ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <x1, x2>@i
7. y1 : ConsensusState@i
8. y2 : Knowledge(ConsensusState)@i
9. \\%2 : ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <y1, y2>@i
10. ∀a,b:{a:Id| (a ∈ A)} .
      let I,z = Knowledge(x2;a)(b) 
      in (I ≤ Inning(x1;b))
         ∧ case z
            of inl(p) =>
            let k,v = p 
            in k < I
               ∧ (↑k ∈ dom(Estimate(x1;b)))
               ∧ (Estimate(x1;b)(k) = v ∈ V)
               ∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing k < i ∧ i < I)
            | inr(p) =>
            ∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing i < I 
      supposing ↑b ∈ dom(Knowledge(x2;a))@i
11. <x1, x2> ts-rel(consensus-ts5(V;A;W)) <y1, y2>@i
⊢ ∀a,b:{a:Id| (a ∈ A)} .
    let I,z = Knowledge(y2;a)(b) 
    in (I ≤ Inning(y1;b))
       ∧ case z
          of inl(p) =>
          let k,v = p 
          in k < I
             ∧ (↑k ∈ dom(Estimate(y1;b)))
             ∧ (Estimate(y1;b)(k) = v ∈ V)
             ∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing k < i ∧ i < I)
          | inr(p) =>
          ∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing i < I 
    supposing ↑b ∈ dom(Knowledge(y2;a))
BY
{ (RepUR ``ts-rel consensus-ts5`` -1
   THEN RepeatFor 2 (((D 0 THENA Auto) THEN D -1))
   THEN (D 0 THENA Auto)
   THEN OnMaybeHyp 11 (\h. (D h THEN Reduce (h+1) THEN D h+1 THEN SplitOrHyps THEN D (h+2) THEN ExRepD)))⋅ }
1
1. [V] : Type
2. A : Id List@i
3. W : {a:Id| (a ∈ A)}  List List@i
4. x1 : ConsensusState@i
5. x2 : Knowledge(ConsensusState)@i
6. \\%1 : ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <x1, x2>@i
7. y1 : ConsensusState@i
8. y2 : Knowledge(ConsensusState)@i
9. \\%2 : ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <y1, y2>@i
10. ∀a,b:{a:Id| (a ∈ A)} .
      let I,z = Knowledge(x2;a)(b) 
      in (I ≤ Inning(x1;b))
         ∧ case z
            of inl(p) =>
            let k,v = p 
            in k < I
               ∧ (↑k ∈ dom(Estimate(x1;b)))
               ∧ (Estimate(x1;b)(k) = v ∈ V)
               ∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing k < i ∧ i < I)
            | inr(p) =>
            ∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing i < I 
      supposing ↑b ∈ dom(Knowledge(x2;a))@i
11. a1 : {a:Id| (a ∈ A)} @i
12. ∀b:{a:Id| (a ∈ A)} 
      ((¬(b = a1 ∈ Id))
      
⇒ ((Inning(y1;b) = Inning(x1;b) ∈ ℤ)
         ∧ (Estimate(y1;b) = Estimate(x1;b) ∈ i:ℤ fp-> V)
         ∧ (Knowledge(y2;b) = Knowledge(x2;b) ∈ b:Id fp-> ℤ × (ℤ × V + Top))))@i
13. Inning(y1;a1) = (Inning(x1;a1) + 1) ∈ ℤ@i
14. Estimate(y1;a1) = Estimate(x1;a1) ∈ i:ℤ fp-> V@i
15. Knowledge(y2;a1) = Knowledge(x2;a1) ∈ b:Id fp-> ℤ × (ℤ × V + Top)@i
16. a : Id@i
17. \\%5 : (a ∈ A)@i
18. b : Id@i
19. \\%7 : (b ∈ A)@i
20. ↑b ∈ dom(Knowledge(y2;a))
⊢ let I,z = Knowledge(y2;a)(b) 
  in (I ≤ Inning(y1;b))
     ∧ case z
        of inl(p) =>
        let k,v = p 
        in k < I
           ∧ (↑k ∈ dom(Estimate(y1;b)))
           ∧ (Estimate(y1;b)(k) = v ∈ V)
           ∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing k < i ∧ i < I)
        | inr(p) =>
        ∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing i < I
2
1. [V] : Type
2. A : Id List@i
3. W : {a:Id| (a ∈ A)}  List List@i
4. x1 : ConsensusState@i
5. x2 : Knowledge(ConsensusState)@i
6. \\%1 : ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <x1, x2>@i
7. y1 : ConsensusState@i
8. y2 : Knowledge(ConsensusState)@i
9. \\%2 : ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <y1, y2>@i
10. ∀a,b:{a:Id| (a ∈ A)} .
      let I,z = Knowledge(x2;a)(b) 
      in (I ≤ Inning(x1;b))
         ∧ case z
            of inl(p) =>
            let k,v = p 
            in k < I
               ∧ (↑k ∈ dom(Estimate(x1;b)))
               ∧ (Estimate(x1;b)(k) = v ∈ V)
               ∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing k < i ∧ i < I)
            | inr(p) =>
            ∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing i < I 
      supposing ↑b ∈ dom(Knowledge(x2;a))@i
11. a1 : {a:Id| (a ∈ A)} @i
12. ∀b:{a:Id| (a ∈ A)} 
      ((¬(b = a1 ∈ Id))
      
⇒ ((Inning(y1;b) = Inning(x1;b) ∈ ℤ)
         ∧ (Estimate(y1;b) = Estimate(x1;b) ∈ i:ℤ fp-> V)
         ∧ (Knowledge(y2;b) = Knowledge(x2;b) ∈ b:Id fp-> ℤ × (ℤ × V + Top))))@i
13. Inning(y1;a1) = Inning(x1;a1) ∈ ℤ@i
14. Knowledge(y2;a1) = Knowledge(x2;a1) ∈ b:Id fp-> ℤ × (ℤ × V + Top)@i
15. ¬(Inning(x1;a1) ∈ fpf-domain(Estimate(x1;a1)))@i
16. v : V@i
17. may consider v in inning Inning(x1;a1) based on knowledge (Knowledge(x2;a1))@i
18. Estimate(y1;a1) = Estimate(x1;a1) ⊕ Inning(x1;a1) : v ∈ i:ℤ fp-> V@i
19. a : Id@i
20. \\%5 : (a ∈ A)@i
21. b : Id@i
22. \\%7 : (b ∈ A)@i
23. ↑b ∈ dom(Knowledge(y2;a))
⊢ let I,z = Knowledge(y2;a)(b) 
  in (I ≤ Inning(y1;b))
     ∧ case z
        of inl(p) =>
        let k,v = p 
        in k < I
           ∧ (↑k ∈ dom(Estimate(y1;b)))
           ∧ (Estimate(y1;b)(k) = v ∈ V)
           ∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing k < i ∧ i < I)
        | inr(p) =>
        ∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing i < I
3
1. [V] : Type
2. A : Id List@i
3. W : {a:Id| (a ∈ A)}  List List@i
4. x1 : ConsensusState@i
5. x2 : Knowledge(ConsensusState)@i
6. \\%1 : ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <x1, x2>@i
7. y1 : ConsensusState@i
8. y2 : Knowledge(ConsensusState)@i
9. \\%2 : ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <y1, y2>@i
10. ∀a,b:{a:Id| (a ∈ A)} .
      let I,z = Knowledge(x2;a)(b) 
      in (I ≤ Inning(x1;b))
         ∧ case z
            of inl(p) =>
            let k,v = p 
            in k < I
               ∧ (↑k ∈ dom(Estimate(x1;b)))
               ∧ (Estimate(x1;b)(k) = v ∈ V)
               ∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing k < i ∧ i < I)
            | inr(p) =>
            ∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing i < I 
      supposing ↑b ∈ dom(Knowledge(x2;a))@i
11. a1 : {a:Id| (a ∈ A)} @i
12. ∀b:{a:Id| (a ∈ A)} 
      ((¬(b = a1 ∈ Id))
      
⇒ ((Inning(y1;b) = Inning(x1;b) ∈ ℤ)
         ∧ (Estimate(y1;b) = Estimate(x1;b) ∈ i:ℤ fp-> V)
         ∧ (Knowledge(y2;b) = Knowledge(x2;b) ∈ b:Id fp-> ℤ × (ℤ × V + Top))))@i
13. Inning(y1;a1) = Inning(x1;a1) ∈ ℤ@i
14. Estimate(y1;a1) = Estimate(x1;a1) ∈ i:ℤ fp-> V@i
15. b1 : {a:Id| (a ∈ A)} @i
16. i : ℤ@i
17. i ≤ Inning(x1;b1)@i
18. ((∀j:ℤ. (j < i 
⇒ (¬↑j ∈ dom(Estimate(x1;b1)))))
∧ (Knowledge(y2;a1) = b1 : <i, inr ⋅ > ⊕ Knowledge(x2;a1) ∈ b:Id fp-> ℤ × (ℤ × V + Top)))
∨ (∃j:ℤ
    (j < i
    ∧ (↑j ∈ dom(Estimate(x1;b1)))
    ∧ (∀k:ℤ. (j < k 
⇒ k < i 
⇒ (¬↑k ∈ dom(Estimate(x1;b1)))))
    ∧ (Knowledge(y2;a1) = b1 : <i, inl <j, Estimate(x1;b1)(j)>> ⊕ Knowledge(x2;a1) ∈ b:Id fp-> ℤ × (ℤ × V + Top))))@i
19. a : Id@i
20. \\%5 : (a ∈ A)@i
21. b : Id@i
22. \\%7 : (b ∈ A)@i
23. ↑b ∈ dom(Knowledge(y2;a))
⊢ let I,z = Knowledge(y2;a)(b) 
  in (I ≤ Inning(y1;b))
     ∧ case z
        of inl(p) =>
        let k,v = p 
        in k < I
           ∧ (↑k ∈ dom(Estimate(y1;b)))
           ∧ (Estimate(y1;b)(k) = v ∈ V)
           ∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing k < i ∧ i < I)
        | inr(p) =>
        ∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing i < I
Latex:
1.  [V]  :  Type
2.  A  :  Id  List@i
3.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
4.  x1  :  ConsensusState@i
5.  x2  :  Knowledge(ConsensusState)@i
6.  \mbackslash{}\mbackslash{}\%1  :  ts-init(consensus-ts5(V;A;W)) 
                    (ts-rel(consensus-ts5(V;A;W))\^{}*) 
                    <x1,  x2>@i
7.  y1  :  ConsensusState@i
8.  y2  :  Knowledge(ConsensusState)@i
9.  \mbackslash{}\mbackslash{}\%2  :  ts-init(consensus-ts5(V;A;W)) 
                    (ts-rel(consensus-ts5(V;A;W))\^{}*) 
                    <y1,  y2>@i
10.  \mforall{}a,b:\{a:Id|  (a  \mmember{}  A)\}  .
            let  I,z  =  Knowledge(x2;a)(b) 
            in  (I  \mleq{}  Inning(x1;b))
                  \mwedge{}  case  z
                        of  inl(p)  =>
                        let  k,v  =  p 
                        in  k  <  I
                              \mwedge{}  (\muparrow{}k  \mmember{}  dom(Estimate(x1;b)))
                              \mwedge{}  (Estimate(x1;b)(k)  =  v)
                              \mwedge{}  (\mforall{}i:\mBbbZ{}.  \mneg{}\muparrow{}i  \mmember{}  dom(Estimate(x1;b))  supposing  k  <  i  \mwedge{}  i  <  I)
                        |  inr(p)  =>
                        \mforall{}i:\mBbbZ{}.  \mneg{}\muparrow{}i  \mmember{}  dom(Estimate(x1;b))  supposing  i  <  I 
            supposing  \muparrow{}b  \mmember{}  dom(Knowledge(x2;a))@i
11.  <x1,  x2>  ts-rel(consensus-ts5(V;A;W))  <y1,  y2>@i
\mvdash{}  \mforall{}a,b:\{a:Id|  (a  \mmember{}  A)\}  .
        let  I,z  =  Knowledge(y2;a)(b) 
        in  (I  \mleq{}  Inning(y1;b))
              \mwedge{}  case  z
                    of  inl(p)  =>
                    let  k,v  =  p 
                    in  k  <  I
                          \mwedge{}  (\muparrow{}k  \mmember{}  dom(Estimate(y1;b)))
                          \mwedge{}  (Estimate(y1;b)(k)  =  v)
                          \mwedge{}  (\mforall{}i:\mBbbZ{}.  \mneg{}\muparrow{}i  \mmember{}  dom(Estimate(y1;b))  supposing  k  <  i  \mwedge{}  i  <  I)
                    |  inr(p)  =>
                    \mforall{}i:\mBbbZ{}.  \mneg{}\muparrow{}i  \mmember{}  dom(Estimate(y1;b))  supposing  i  <  I 
        supposing  \muparrow{}b  \mmember{}  dom(Knowledge(y2;a))
By
(RepUR  ``ts-rel  consensus-ts5``  -1
  THEN  RepeatFor  2  (((D  0  THENA  Auto)  THEN  D  -1))
  THEN  (D  0  THENA  Auto)
  THEN  OnMaybeHyp  11  (\mbackslash{}h.  (D  h
                                                    THEN  Reduce  (h+1)
                                                    THEN  D  h+1
                                                    THEN  SplitOrHyps
                                                    THEN  D  (h+2)
                                                    THEN  ExRepD)))\mcdot{}
Home
Index