Nuprl Lemma : lattice-meet-fset-join-distrib

∀[l:BoundedDistributiveLattice]. ∀[eq:EqDecider(Point(l))]. ∀[s1,s2:fset(Point(l))].
  (\/(s1) ∧ \/(s2) = \/(f-union(eq;eq;s1;a.λb.a ∧ b"(s2))) ∈ Point(l))


Proof




Definitions occuring in Statement :  lattice-fset-join: \/(s),  bdd-distributive-lattice: BoundedDistributiveLattice,  lattice-meet: a ∧ b,  lattice-point: Point(l),  fset-image: f"(s),  f-union: f-union(domeq;rngeq;s;x.g[x]),  fset: fset(T),  deq: EqDecider(T),  uall: ∀[x:A]. B[x],  lambda: λx.A[x],  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  fset: fset(T),  quotient: x,y:A//B[x; y],  and: P ∧ Q,  prop: ℙ,  subtype_rel: A ⊆r B,  bdd-distributive-lattice: BoundedDistributiveLattice,  so_lambda: λ2x.t[x],  so_apply: x[s],  uimplies: b supposing a,  squash: ↓T,  implies: P ⇒ Q,  bdd-lattice: BoundedLattice,  all: ∀x:A. B[x],  so_lambda: λ2x y.t[x; y],  so_apply: x[s1;s2],  true: True,  guard: {T},  iff: P ⇐⇒ Q,  rev_implies: P ⇐ Q,  f-union: f-union(domeq;rngeq;s;x.g[x]),  list_accum: list_accum,  nil: [],  it: ⋅,  lattice-fset-join: \/(s),  reduce: reduce(f;k;as),  list_ind: list_ind,  lattice-0: 0,  record-select: r.x,  top: Top,  listp: A List+,  uiff: uiff(P;Q),  or: P ∨ Q,  exists: ∃x:A. B[x],  sq_stable: SqStable(P),  fset-member: a ∈ s,  eqof: eqof(d),  cand: A c∧ B,  rev_uimplies: rev_uimplies(P;Q),  lattice-meet: a ∧ b,  fset-image: f"(s)
Lemmas referenced :  equal-wf-base,  set-equal_wf,  fset_wf,  lattice-point_wf,  subtype_rel_set,  bounded-lattice-structure_wf,  lattice-structure_wf,  lattice-axioms_wf,  bounded-lattice-structure-subtype,  bounded-lattice-axioms_wf,  uall_wf,  equal_wf,  lattice-meet_wf,  lattice-join_wf,  deq_wf,  bdd-distributive-lattice_wf,  lattice-fset-join_wf,  squash_wf,  all_wf,  decidable_wf,  bdd-lattice_wf,  bdd-distributive-lattice-subtype-bdd-lattice,  decidable-equal-deq,  quotient-member-eq,  list_wf,  set-equal-equiv,  f-union_wf,  fset-image_wf,  true_wf,  iff_weakening_equal,  list_induction,  list_subtype_fset,  lattice-meet-0,  lattice-0_wf,  reduce_cons_lemma,  distributive-lattice-distrib,  bdd-distributive-lattice-subtype-distributive-lattice,  cons_wf_listp,  less_than_wf,  length_wf,  fset-extensionality,  fset-union_wf,  fset-member_witness,  fset-member_wf,  or_wf,  member-fset-union,  uiff_wf,  member-f-union,  sq_stable_from_decidable,  decidable__or,  decidable__fset-member,  member-fset-image-iff,  deq_member_cons_lemma,  assert_wf,  bor_wf,  eqof_wf,  deq-member_wf,  l_member_wf,  assert-deq-member,  iff_transitivity,  iff_weakening_uiff,  assert_of_bor,  safe-assert-deq,  and_wf,  sq_stable__fset-member,  member_wf,  cons_wf,  cons_member,  lattice-fset-join-union,  lattice-0-meet,  fset-singleton_wf,  lattice-fset-join-singleton,  member-fset-singleton
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  sqequalHypSubstitution,  pointwiseFunctionalityForEquality,  because_Cache,  sqequalRule,  pertypeElimination,  productElimination,  thin,  hypothesis,  productEquality,  extract_by_obid,  isectElimination,  hypothesisEquality,  applyEquality,  instantiate,  lambdaEquality,  cumulativity,  universeEquality,  independent_isectElimination,  isect_memberEquality,  axiomEquality,  imageElimination,  independent_functionElimination,  equalityTransitivity,  equalitySymmetry,  lambdaFormation,  dependent_functionElimination,  imageMemberEquality,  baseClosed,  natural_numberEquality,  setElimination,  rename,  promote_hyp,  voidElimination,  voidEquality,  hyp_replacement,  applyLambdaEquality,  independent_pairFormation,  addLevel,  independent_pairEquality,  orFunctionality,  unionElimination,  inlFormation,  inrFormation,  dependent_pairFormation,  dependent_set_memberEquality,  equalityElimination,  equalityUniverse,  levelHypothesis

Latex:
\mforall{}[l:BoundedDistributiveLattice].  \mforall{}[eq:EqDecider(Point(l))].  \mforall{}[s1,s2:fset(Point(l))].
    (\mbackslash{}/(s1)  \mwedge{}  \mbackslash{}/(s2)  =  \mbackslash{}/(f-union(eq;eq;s1;a.\mlambda{}b.a  \mwedge{}  b"(s2))))



Date html generated: 2017_10_05-AM-00_34_24
Last ObjectModification: 2017_07_28-AM-09_14_08

Theory : lattices


Home Index