Step
*
3
1
1
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. 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))
21. y2 = x2 ∈ Knowledge(ConsensusState)
⊢ 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
BY
{ (StrongHypSubst (-1) 0 THENA Auto) }
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))
21. y2 = x2 ∈ Knowledge(ConsensusState)
⊢ let I,z = Knowledge(x2;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.  a1  :  \{a:Id|  (a  \mmember{}  A)\}  @i
12.  \mforall{}b:\{a:Id|  (a  \mmember{}  A)\} 
            ((\mneg{}(b  =  a1))
            {}\mRightarrow{}  ((Inning(y1;b)  =  Inning(x1;b))
                  \mwedge{}  (Estimate(y1;b)  =  Estimate(x1;b))
                  \mwedge{}  (Knowledge(y2;b)  =  Knowledge(x2;b))))@i
13.  Inning(y1;a1)  =  (Inning(x1;a1)  +  1)@i
14.  Estimate(y1;a1)  =  Estimate(x1;a1)@i
15.  Knowledge(y2;a1)  =  Knowledge(x2;a1)@i
16.  a  :  Id@i
17.  \mbackslash{}\mbackslash{}\%5  :  (a  \mmember{}  A)@i
18.  b  :  Id@i
19.  \mbackslash{}\mbackslash{}\%7  :  (b  \mmember{}  A)@i
20.  \muparrow{}b  \mmember{}  dom(Knowledge(y2;a))
21.  y2  =  x2
\mvdash{}  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
By
(StrongHypSubst  (-1)  0  THENA  Auto)
Home
Index