Nuprl Lemma : free-dlwc-basis

∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[Cs:T ⟶ fset(fset(T))]. ∀[x:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))].
  (x = \/(λs./\(λx.free-dlwc-inc(eq;a.Cs[a];x)"(s))"(x)) ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))


Proof




Definitions occuring in Statement :  free-dlwc-inc: free-dlwc-inc(eq;a.Cs[a];x),  free-dist-lattice-with-constraints: free-dist-lattice-with-constraints(T;eq;x.Cs[x]),  lattice-fset-join: \/(s),  lattice-fset-meet: /\(s),  lattice-point: Point(l),  fset-image: f"(s),  deq-fset: deq-fset(eq),  fset: fset(T),  deq: EqDecider(T),  uall: ∀[x:A]. B[x],  so_apply: x[s],  lambda: λx.A[x],  function: x:A ⟶ B[x],  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  so_lambda: λ2x.t[x],  so_apply: x[s],  subtype_rel: A ⊆r B,  uimplies: b supposing a,  prop: ℙ,  and: P ∧ Q,  top: Top,  bdd-distributive-lattice: BoundedDistributiveLattice,  rev_implies: P ⇐ Q,  iff: P ⇐⇒ Q,  uiff: uiff(P;Q),  cand: A c∧ B,  implies: P ⇒ Q,  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  false: False,  not: ¬A,  squash: ↓T,  rev_uimplies: rev_uimplies(P;Q),  fset-ac-le: fset-ac-le(eq;ac1;ac2),  guard: {T},  cons: [a / b],  fset-singleton: {x},  sq_stable: SqStable(P),  btrue: tt,  eq_atom: x =a y,  record-update: r[x := v],  mk-bounded-lattice: mk-bounded-lattice(T;m;j;z;o),  mk-bounded-distributive-lattice: mk-bounded-distributive-lattice,  constrained-antichain-lattice: constrained-antichain-lattice(T;eq;P),  free-dist-lattice-with-constraints: free-dist-lattice-with-constraints(T;eq;x.Cs[x]),  record-select: r.x,  lattice-0: 0,  lattice-fset-join: \/(s),  bfalse: ff,  it: ⋅,  nil: [],  empty-fset: {},  list_ind: list_ind,  reduce: reduce(f;k;as),  deq-member: x ∈b L,  ifthenelse: if b then t else f fi ,  assert: ↑b,  fset-member: a ∈ s,  fset-add: fset-add(eq;x;s),  true: True,  fset-constrained-ac-lub: lub(P;ac1;ac2),  so_apply: x[s1;s2],  so_lambda: λ2x y.t[x; y],  fset-ac-lub: fset-ac-lub(eq;ac1;ac2),  or: P ∨ Q,  decidable: Dec(P),  f-proper-subset: xs ⊆≠ ys,  order: Order(T;x,y.R[x; y]),  anti_sym: AntiSym(T;x,y.R[x; y])
Lemmas referenced :  lattice-point_wf,  free-dist-lattice-with-constraints_wf,  fset_wf,  deq_wf,  istype-universe,  strong-subtype-set2,  fset-contains-none_wf,  fset-all_wf,  fset-antichain_wf,  assert_wf,  strong-subtype-deq-subtype,  deq-fset_wf,  free-dlwc-point,  lattice-join_wf,  lattice-meet_wf,  bounded-lattice-axioms_wf,  bounded-lattice-structure-subtype,  lattice-axioms_wf,  lattice-structure_wf,  bounded-lattice-structure_wf,  subtype_rel_set,  fset-image_wf,  fset-subtype2,  assert_witness,  equal_wf,  and_wf,  member-fset-singleton,  fset-member_wf,  isect_wf,  uall_wf,  iff_weakening_uiff,  fset-all-iff,  fset-antichain-singleton,  fset-singleton_wf,  bdd-distributive-lattice-subtype-bdd-lattice,  lattice-fset-join-is-lub,  member-fset-image-iff,  free-dlwc-le,  not_wf,  assert_of_bnot,  f-subset_wf,  iff_wf,  all_wf,  bool_wf,  deq-f-subset_wf,  fset-filter_wf,  fset-null_wf,  bnot_wf,  assert-fset-null,  assert-deq-f-subset,  fset-filter-is-empty,  f-subset_weakening,  decidable__equal-free-dist-lattice-with-constraints-point,  lattice-fset-join_wf,  fset-ac-le-implies2,  sq_stable__fset-member,  set_wf,  fset-add_wf,  empty-fset_wf,  sq_stable__squash,  sq_stable__all,  exists_wf,  squash_wf,  fset-induction,  fset-union_wf,  iff_weakening_equal,  lattice-fset-join-union,  true_wf,  free-dlwc-join,  member-fset-union,  f-proper-subset-dec_wf,  member-fset-minimals,  member-fset-add,  lattice-fset-join-singleton,  assert-fset-antichain,  deq-implies,  bdd-distributive-lattice-subtype-lattice,  lattice-le-order,  istype-void,  lattice-fset-meet-free-dlwc-inc,  sq_stable__assert
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation_alt,  introduction,  cut,  hypothesis,  universeIsType,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  hypothesisEquality,  sqequalRule,  lambdaEquality_alt,  applyEquality,  because_Cache,  isect_memberEquality_alt,  axiomEquality,  isectIsTypeImplies,  inhabitedIsType,  functionIsType,  instantiate,  universeEquality,  independent_isectElimination,  functionExtensionality,  lambdaEquality,  productEquality,  setEquality,  cumulativity,  productElimination,  rename,  setElimination,  voidEquality,  voidElimination,  isect_memberEquality,  equalityTransitivity,  dependent_functionElimination,  levelHypothesis,  applyLambdaEquality,  equalitySymmetry,  hyp_replacement,  addLevel,  isect_memberFormation,  independent_functionElimination,  independent_pairFormation,  dependent_set_memberEquality,  lambdaFormation,  imageElimination,  functionEquality,  dependent_pairFormation,  baseClosed,  imageMemberEquality,  natural_numberEquality,  unionElimination,  inlFormation,  inrFormation,  lambdaFormation_alt,  equalityIsType1,  setIsType

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[Cs:T  {}\mrightarrow{}  fset(fset(T))].
\mforall{}[x:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))].
    (x  =  \mbackslash{}/(\mlambda{}s./\mbackslash{}(\mlambda{}x.free-dlwc-inc(eq;a.Cs[a];x)"(s))"(x)))



Date html generated: 2020_05_20-AM-08_49_49
Last ObjectModification: 2018_11_08-PM-06_01_41

Theory : lattices


Home Index