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: 2020_05_20-AM-08_25_17
Last ObjectModification: 2017_07_28-AM-09_12_44

Theory : lattices


Home Index