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

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: 2020_05_20-AM-08_44_30
Last ObjectModification: 2020_02_03-PM-03_10_53

Theory : lattices


Home Index