Step
*
3
1
3
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) ∈ ℤ@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
BY
{ (Decide a = 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) ∈ ℤ@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))
24. a = a1 ∈ Id
⊢ 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. 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))
24. ¬(a = a1 ∈ Id)
⊢ 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. 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. ((\mforall{}j:\mBbbZ{}. (j < i {}\mRightarrow{} (\mneg{}\muparrow{}j \mmember{} dom(Estimate(x1;b1)))))
\mwedge{} (Knowledge(y2;a1) = b1 : <i, inr \mcdot{} > \moplus{} Knowledge(x2;a1)))
\mvee{} (\mexists{}j:\mBbbZ{}
(j < i
\mwedge{} (\muparrow{}j \mmember{} dom(Estimate(x1;b1)))
\mwedge{} (\mforall{}k:\mBbbZ{}. (j < k {}\mRightarrow{} k < i {}\mRightarrow{} (\mneg{}\muparrow{}k \mmember{} dom(Estimate(x1;b1)))))
\mwedge{} (Knowledge(y2;a1) = b1 : <i, inl <j, Estimate(x1;b1)(j)>> \moplus{} Knowledge(x2;a1))))@i
19. a : Id@i
20. \mbackslash{}\mbackslash{}\%5 : (a \mmember{} A)@i
21. b : Id@i
22. \mbackslash{}\mbackslash{}\%7 : (b \mmember{} A)@i
23. \muparrow{}b \mmember{} dom(Knowledge(y2;a))
\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
(Decide a = a1 THENA Auto)
Home
Index