Step
*
3
1
3
1
1
2
1
of Lemma
consensus-ts5-true-knowledge
.....equality.....
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. 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. 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 : ℤ@i
19. j < i@i
20. ↑j ∈ dom(Estimate(x1;b1))@i
21. ∀k:ℤ. (j < k
⇒ k < i
⇒ (¬↑k ∈ dom(Estimate(x1;b1))))@i
22. Knowledge(y2;a1) = b1 : <i, inl <j, Estimate(x1;b1)(j)>> ⊕ Knowledge(x2;a1) ∈ b:Id fp-> ℤ × (ℤ × V + Top)@i
23. a : Id@i
24. (a ∈ A)@i
25. b : Id@i
26. (b ∈ A)@i
27. ↑b ∈ dom(Knowledge(y2;a))
28. a = a1 ∈ Id
29. b = b1 ∈ Id
⊢ Knowledge(y2;a1)(b) = <i, inl <j, Estimate(x1;b1)(j)>> ∈ (ℤ × (ℤ × V + Top))
BY
{ HypSubst' -2 -3 }
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. 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. 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 : ℤ@i
19. j < i@i
20. ↑j ∈ dom(Estimate(x1;b1))@i
21. ∀k:ℤ. (j < k
⇒ k < i
⇒ (¬↑k ∈ dom(Estimate(x1;b1))))@i
22. Knowledge(y2;a1) = b1 : <i, inl <j, Estimate(x1;b1)(j)>> ⊕ Knowledge(x2;a1) ∈ b:Id fp-> ℤ × (ℤ × V + Top)@i
23. a : Id@i
24. (a ∈ A)@i
25. b : Id@i
26. (b ∈ A)@i
27. ↑b ∈ dom(Knowledge(y2;a1))
28. a = a1 ∈ Id
29. b = b1 ∈ Id
⊢ Knowledge(y2;a1)(b) = <i, inl <j, Estimate(x1;b1)(j)>> ∈ (ℤ × (ℤ × V + Top))
Latex:
.....equality.....
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. 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. 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)@i
14. Estimate(y1;a1) = Estimate(x1;a1)@i
15. b1 : \{a:Id| (a \mmember{} A)\} @i
16. i : \mBbbZ{}@i
17. i \mleq{} Inning(x1;b1)@i
18. j : \mBbbZ{}@i
19. j < i@i
20. \muparrow{}j \mmember{} dom(Estimate(x1;b1))@i
21. \mforall{}k:\mBbbZ{}. (j < k {}\mRightarrow{} k < i {}\mRightarrow{} (\mneg{}\muparrow{}k \mmember{} dom(Estimate(x1;b1))))@i
22. Knowledge(y2;a1) = b1 : <i, inl <j, Estimate(x1;b1)(j)>> \moplus{} Knowledge(x2;a1)@i
23. a : Id@i
24. (a \mmember{} A)@i
25. b : Id@i
26. (b \mmember{} A)@i
27. \muparrow{}b \mmember{} dom(Knowledge(y2;a))
28. a = a1
29. b = b1
\mvdash{} Knowledge(y2;a1)(b) = <i, inl <j, Estimate(x1;b1)(j)>>
By
HypSubst' -2 -3
Home
Index