Nuprl Lemma : fset-ac-le-distributive

∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[a,b,c:{ac:fset(fset(T))| ↑fset-antichain(eq;ac)} ].
  (fset-ac-glb(eq;a;fset-ac-lub(eq;b;c))
  = fset-ac-lub(eq;fset-ac-glb(eq;a;b);fset-ac-glb(eq;a;c))
  ∈ {ac:fset(fset(T))| ↑fset-antichain(eq;ac)} )


Proof




Definitions occuring in Statement :  fset-ac-glb: fset-ac-glb(eq;ac1;ac2),  fset-ac-lub: fset-ac-lub(eq;ac1;ac2),  fset-antichain: fset-antichain(eq;ac),  fset: fset(T),  deq: EqDecider(T),  assert: ↑b,  uall: ∀[x:A]. B[x],  set: {x:A| B[x]} ,  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  true: True,  f-proper-subset: xs ⊆≠ ys,  top: Top,  decidable: Dec(P),  fset-ac-lub: fset-ac-lub(eq;ac1;ac2),  or: P ∨ Q,  fset-union: x ⋃ y,  l-union: as ⋃ bs,  reduce: reduce(f;k;as),  list_ind: list_ind,  false: False,  exists: ∃x:A. B[x],  not: ¬A,  rev_uimplies: rev_uimplies(P;Q),  uiff: uiff(P;Q),  rev_implies: P ⇐ Q,  iff: P ⇐⇒ Q,  fset-ac-le: fset-ac-le(eq;ac1;ac2),  fset-ac-glb: fset-ac-glb(eq;ac1;ac2),  guard: {T},  greatest-lower-bound: greatest-lower-bound(T;x,y.R[x; y];a;b;c),  so_apply: x[s],  so_lambda: λ2x.t[x],  squash: ↓T,  sq_stable: SqStable(P),  subtype_rel: A ⊆r B,  implies: P ⇒ Q,  cand: A c∧ B,  and: P ∧ Q,  least-upper-bound: least-upper-bound(T;x,y.R[x; y];a;b;c),  all: ∀x:A. B[x],  uimplies: b supposing a,  so_apply: x[s1;s2],  so_lambda: λ2x y.t[x; y],  prop: ℙ,  member: t ∈ T,  uall: ∀[x:A]. B[x]
Lemmas referenced :  true_wf,  istype-universe,  fset-union-commutes,  subtype_rel_self,  iff_weakening_equal,  f-subset_transitivity,  member-fset-filter,  assert-deq-f-subset,  fset-extensionality,  mem_empty_lemma,  fset-member_witness,  false_wf,  implies-member-fset-minimals,  squash_wf,  decidable__squash_exists_fset,  decidable__f-proper-subset,  member-fset-union,  assert-f-proper-subset-dec,  iff_transitivity,  f-proper-subset_wf,  istype-assert,  istype-void,  member-fset-image-iff,  member-f-union,  assert_witness,  equal-wf-T-base,  not_wf,  assert-fset-null,  member-fset-minimals,  assert_of_bnot,  fset-member_wf,  isect_wf,  uall_wf,  fset-union_wf,  fset-image_wf,  f-union_wf,  f-proper-subset-dec_wf,  fset-minimals_wf,  f-subset_wf,  iff_wf,  all_wf,  bool_wf,  deq-f-subset_wf,  fset-filter_wf,  fset-null_wf,  bnot_wf,  fset-all_wf,  iff_weakening_uiff,  deq-fset_wf,  fset-all-iff,  fset-ac-le-implies,  fset-ac-le_transitivity,  fset-ac-glb-is-glb,  deq_wf,  set_wf,  equal_wf,  decidable__assert,  sq_stable_from_decidable,  fset-ac-lub-is-lub,  fset-ac-lub_wf,  fset-ac-glb_wf,  fset-ac-order,  fset-ac-le_wf,  fset-antichain_wf,  assert_wf,  fset_wf,  least-upper-bound-unique
Rules used in proof :  instantiate,  natural_numberEquality,  hyp_replacement,  applyLambdaEquality,  voidEquality,  independent_pairEquality,  productEquality,  unionElimination,  Error :isect_memberFormation_alt,  voidElimination,  Error :functionIsTypeImplies,  Error :isect_memberEquality_alt,  Error :isectIsTypeImplies,  Error :dependent_pairFormation_alt,  Error :productIsType,  Error :functionIsType,  Error :lambdaFormation_alt,  Error :equalityIstype,  Error :universeIsType,  Error :lambdaEquality_alt,  Error :inhabitedIsType,  sqequalBase,  addLevel,  functionEquality,  productElimination,  cumulativity,  universeEquality,  axiomEquality,  isect_memberEquality,  equalitySymmetry,  equalityTransitivity,  imageElimination,  baseClosed,  imageMemberEquality,  independent_functionElimination,  because_Cache,  applyEquality,  lambdaFormation,  independent_pairFormation,  dependent_functionElimination,  independent_isectElimination,  rename,  setElimination,  lambdaEquality,  sqequalRule,  hypothesis,  hypothesisEquality,  setEquality,  thin,  isectElimination,  sqequalHypSubstitution,  extract_by_obid,  dependent_set_memberEquality,  cut,  introduction,  isect_memberFormation,  sqequalReflexivity,  computationStep,  sqequalTransitivity,  sqequalSubstitution

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[a,b,c:\{ac:fset(fset(T))|  \muparrow{}fset-antichain(eq;ac)\}  ].
    (fset-ac-glb(eq;a;fset-ac-lub(eq;b;c))  =  fset-ac-lub(eq;fset-ac-glb(eq;a;b);fset-ac-glb(eq;a;c)))



Date html generated: 2019_06_20-PM-02_13_59
Last ObjectModification: 2019_06_20-PM-02_07_27

Theory : finite!sets


Home Index