Step
*
1
1
of Lemma
mk-bounded-lattice_wf
1. T : Type
2. m : T ⟶ T ⟶ T
3. j : T ⟶ T ⟶ T
4. z : T
5. o : T
6. ∀[a,b:T]. (m[a;b] = m[b;a] ∈ T)
7. ∀[a,b:T]. (j[a;b] = j[b;a] ∈ T)
8. ∀[a,b,c:T]. (m[a;m[b;c]] = m[m[a;b];c] ∈ T)
9. ∀[a,b,c:T]. (j[a;j[b;c]] = j[j[a;b];c] ∈ T)
10. ∀[a,b:T]. (j[a;m[a;b]] = a ∈ T)
11. ∀[a,b:T]. (m[a;j[a;b]] = a ∈ T)
12. ∀[a:T]. (m[a;o] = a ∈ T)
13. ∀[a:T]. (j[a;z] = a ∈ T)
⊢ λx.x["Point" := T]["meet" := m]["join" := j]["0" := z]["1" := o] ∈ "Point":Type
"meet":self."Point" ⟶ self."Point" ⟶ self."Point"
"join":self."Point" ⟶ self."Point" ⟶ self."Point"
"1":self."Point"
"0":self."Point"
BY
{ (RepeatFor 5 ((RecordPlusTypeCD THEN Reduce 0 THEN Try (Trivial))) THEN RepUR ``record record-update`` 0 THEN Auto) }
Latex:
Latex:
1. T : Type
2. m : T {}\mrightarrow{} T {}\mrightarrow{} T
3. j : T {}\mrightarrow{} T {}\mrightarrow{} T
4. z : T
5. o : T
6. \mforall{}[a,b:T]. (m[a;b] = m[b;a])
7. \mforall{}[a,b:T]. (j[a;b] = j[b;a])
8. \mforall{}[a,b,c:T]. (m[a;m[b;c]] = m[m[a;b];c])
9. \mforall{}[a,b,c:T]. (j[a;j[b;c]] = j[j[a;b];c])
10. \mforall{}[a,b:T]. (j[a;m[a;b]] = a)
11. \mforall{}[a,b:T]. (m[a;j[a;b]] = a)
12. \mforall{}[a:T]. (m[a;o] = a)
13. \mforall{}[a:T]. (j[a;z] = a)
\mvdash{} \mlambda{}x.x["Point" := T]["meet" := m]["join" := j]["0" := z]["1" := o] \mmember{} "Point":Type
"meet":self."Point" {}\mrightarrow{} self."Point" {}\mrightarrow{} self."Point"
"join":self."Point" {}\mrightarrow{} self."Point" {}\mrightarrow{} self."Point"
"1":self."Point"
"0":self."Point"
By
Latex:
(RepeatFor 5 ((RecordPlusTypeCD THEN Reduce 0 THEN Try (Trivial)))
THEN RepUR ``record record-update`` 0
THEN Auto)
Home
Index