Nuprl Lemma : mk-bounded-distributive-lattice-from-order
∀[T:Type]. ∀[m,j:T ⟶ T ⟶ T]. ∀[z,o:T]. ∀[R:T ⟶ T ⟶ ℙ].
{points=T;
meet=m;
join=j;
0=z;
1=o} ∈ BoundedDistributiveLattice
supposing Order(T;x,y.R[x;y])
∧ (∀[a,b:T]. least-upper-bound(T;x,y.R[x;y];a;b;j[a;b]))
∧ (∀[a,b:T]. greatest-lower-bound(T;x,y.R[x;y];a;b;m[a;b]))
∧ (∀[a:T]. R[a;o])
∧ (∀[a:T]. R[z;a])
∧ (∀[a,b,c:T]. (m[a;j[b;c]] = j[m[a;b];m[a;c]] ∈ T))
Proof
Definitions occuring in Statement :
mk-bounded-distributive-lattice: mk-bounded-distributive-lattice,
bdd-distributive-lattice: BoundedDistributiveLattice
,
greatest-lower-bound: greatest-lower-bound(T;x,y.R[x; y];a;b;c)
,
least-upper-bound: least-upper-bound(T;x,y.R[x; y];a;b;c)
,
order: Order(T;x,y.R[x; y])
,
uimplies: b supposing a
,
uall: ∀[x:A]. B[x]
,
prop: ℙ
,
so_apply: x[s1;s2]
,
and: P ∧ Q
,
member: t ∈ T
,
function: x:A ⟶ B[x]
,
universe: Type
,
equal: s = t ∈ T
Definitions unfolded in proof :
mk-bounded-distributive-lattice: mk-bounded-distributive-lattice,
member: t ∈ T
,
bdd-distributive-lattice: BoundedDistributiveLattice
,
prop: ℙ
,
and: P ∧ Q
,
uall: ∀[x:A]. B[x]
,
so_lambda: λ2x y.t[x; y]
,
so_apply: x[s1;s2]
,
so_lambda: λ2x.t[x]
,
so_apply: x[s]
,
uimplies: b supposing a
,
mk-bounded-lattice: mk-bounded-lattice(T;m;j;z;o)
,
bounded-lattice-structure: BoundedLatticeStructure
,
record+: record+,
record-update: r[x := v]
,
record: record(x.T[x])
,
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
bool: 𝔹
,
unit: Unit
,
it: ⋅
,
btrue: tt
,
subtype_rel: A ⊆r B
,
uiff: uiff(P;Q)
,
ifthenelse: if b then t else f fi
,
sq_type: SQType(T)
,
guard: {T}
,
record-select: r.x
,
top: Top
,
eq_atom: x =a y
,
bfalse: ff
,
iff: P
⇐⇒ Q
,
not: ¬A
,
rev_implies: P
⇐ Q
,
lattice-structure: LatticeStructure
,
lattice-point: Point(l)
,
lattice-meet: a ∧ b
,
lattice-join: a ∨ b
,
exists: ∃x:A. B[x]
,
bounded-lattice-axioms: bounded-lattice-axioms(l)
,
lattice-1: 1
,
lattice-0: 0
,
cand: A c∧ B
,
least-upper-bound: least-upper-bound(T;x,y.R[x; y];a;b;c)
,
order: Order(T;x,y.R[x; y])
,
refl: Refl(T;x,y.E[x; y])
,
greatest-lower-bound: greatest-lower-bound(T;x,y.R[x; y];a;b;c)
Lemmas referenced :
order_wf,
uall_wf,
least-upper-bound_wf,
greatest-lower-bound_wf,
equal_wf,
eq_atom_wf,
uiff_transitivity,
equal-wf-base,
bool_wf,
assert_wf,
atom_subtype_base,
eqtt_to_assert,
assert_of_eq_atom,
subtype_base_sq,
rec_select_update_lemma,
iff_transitivity,
bnot_wf,
not_wf,
iff_weakening_uiff,
eqff_to_assert,
assert_of_bnot,
lattice-axioms-from-order,
least-upper-bound-unique,
greatest-lower-bound-unique,
lattice-axioms_wf,
bounded-lattice-structure-subtype,
bounded-lattice-axioms_wf,
lattice-point_wf,
lattice-meet_wf,
lattice-join_wf
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
dependent_set_memberEquality,
productEquality,
cut,
introduction,
extract_by_obid,
sqequalHypSubstitution,
isectElimination,
thin,
cumulativity,
hypothesisEquality,
sqequalRule,
lambdaEquality,
applyEquality,
functionExtensionality,
because_Cache,
hypothesis,
functionEquality,
universeEquality,
isect_memberFormation,
axiomEquality,
equalityTransitivity,
equalitySymmetry,
isect_memberEquality,
dependentIntersection_memberEquality,
tokenEquality,
lambdaFormation,
unionElimination,
equalityElimination,
baseApply,
closedConclusion,
baseClosed,
atomEquality,
productElimination,
independent_functionElimination,
independent_isectElimination,
instantiate,
dependent_functionElimination,
voidElimination,
voidEquality,
independent_pairFormation,
impliesFunctionality,
dependent_pairFormation
Latex:
\mforall{}[T:Type]. \mforall{}[m,j:T {}\mrightarrow{} T {}\mrightarrow{} T]. \mforall{}[z,o:T]. \mforall{}[R:T {}\mrightarrow{} T {}\mrightarrow{} \mBbbP{}].
\{points=T;
meet=m;
join=j;
0=z;
1=o\} \mmember{} BoundedDistributiveLattice
supposing Order(T;x,y.R[x;y])
\mwedge{} (\mforall{}[a,b:T]. least-upper-bound(T;x,y.R[x;y];a;b;j[a;b]))
\mwedge{} (\mforall{}[a,b:T]. greatest-lower-bound(T;x,y.R[x;y];a;b;m[a;b]))
\mwedge{} (\mforall{}[a:T]. R[a;o])
\mwedge{} (\mforall{}[a:T]. R[z;a])
\mwedge{} (\mforall{}[a,b,c:T]. (m[a;j[b;c]] = j[m[a;b];m[a;c]]))
Date html generated:
2017_10_05-AM-00_30_48
Last ObjectModification:
2017_07_28-AM-09_12_44
Theory : lattices
Home
Index