Step
*
3
1
1
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(x2;a))
21. y2 = x2 ∈ Knowledge(ConsensusState)
22. v1 : ℤ@i
23. x3 : ℤ@i
24. x4 : V@i
25. Knowledge(x2;a)(b) = <v1, inl <x3, x4>> ∈ (ℤ × (ℤ × V + Top))@i
⊢ ((v1 ≤ Inning(x1;b))
∧ x3 < v1
∧ (↑x3 ∈ dom(Estimate(x1;b)))
∧ (Estimate(x1;b)(x3) = x4 ∈ V)
∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing x3 < i ∧ i < v1))
⇒ ((v1 ≤ Inning(y1;b))
∧ x3 < v1
∧ (↑x3 ∈ dom(Estimate(y1;b)))
∧ (Estimate(y1;b)(x3) = x4 ∈ V)
∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing x3 < i ∧ i < v1))
BY
{ (Decide b = a1 ∈ Id 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(x2;a))
21. y2 = x2 ∈ Knowledge(ConsensusState)
22. v1 : ℤ@i
23. x3 : ℤ@i
24. x4 : V@i
25. Knowledge(x2;a)(b) = <v1, inl <x3, x4>> ∈ (ℤ × (ℤ × V + Top))@i
26. b = a1 ∈ Id
⊢ ((v1 ≤ Inning(x1;b))
∧ x3 < v1
∧ (↑x3 ∈ dom(Estimate(x1;b)))
∧ (Estimate(x1;b)(x3) = x4 ∈ V)
∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing x3 < i ∧ i < v1))
⇒ ((v1 ≤ Inning(y1;b))
∧ x3 < v1
∧ (↑x3 ∈ dom(Estimate(y1;b)))
∧ (Estimate(y1;b)(x3) = x4 ∈ V)
∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing x3 < i ∧ i < v1))
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) + 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(x2;a))
21. y2 = x2 ∈ Knowledge(ConsensusState)
22. v1 : ℤ@i
23. x3 : ℤ@i
24. x4 : V@i
25. Knowledge(x2;a)(b) = <v1, inl <x3, x4>> ∈ (ℤ × (ℤ × V + Top))@i
26. ¬(b = a1 ∈ Id)
⊢ ((v1 ≤ Inning(x1;b))
∧ x3 < v1
∧ (↑x3 ∈ dom(Estimate(x1;b)))
∧ (Estimate(x1;b)(x3) = x4 ∈ V)
∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(x1;b)) supposing x3 < i ∧ i < v1))
⇒ ((v1 ≤ Inning(y1;b))
∧ x3 < v1
∧ (↑x3 ∈ dom(Estimate(y1;b)))
∧ (Estimate(y1;b)(x3) = x4 ∈ V)
∧ (∀i:ℤ. ¬↑i ∈ dom(Estimate(y1;b)) supposing x3 < i ∧ i < v1))
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(x2;a))
21. y2 = x2
22. v1 : \mBbbZ{}@i
23. x3 : \mBbbZ{}@i
24. x4 : V@i
25. Knowledge(x2;a)(b) = <v1, inl <x3, x4>>@i
\mvdash{} ((v1 \mleq{} Inning(x1;b))
\mwedge{} x3 < v1
\mwedge{} (\muparrow{}x3 \mmember{} dom(Estimate(x1;b)))
\mwedge{} (Estimate(x1;b)(x3) = x4)
\mwedge{} (\mforall{}i:\mBbbZ{}. \mneg{}\muparrow{}i \mmember{} dom(Estimate(x1;b)) supposing x3 < i \mwedge{} i < v1))
{}\mRightarrow{} ((v1 \mleq{} Inning(y1;b))
\mwedge{} x3 < v1
\mwedge{} (\muparrow{}x3 \mmember{} dom(Estimate(y1;b)))
\mwedge{} (Estimate(y1;b)(x3) = x4)
\mwedge{} (\mforall{}i:\mBbbZ{}. \mneg{}\muparrow{}i \mmember{} dom(Estimate(y1;b)) supposing x3 < i \mwedge{} i < v1))
By
(Decide b = a1 THENA Auto)
Home
Index