Nuprl Lemma : cal-filter-decomp
∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[P:fset(T) ⟶ 𝔹]. ∀[s:Point(constrained-antichain-lattice(T;eq;P))]. ∀[Q:{x:fset(T)| 
                                                                                                          ↑P[x]}  ⟶ 𝔹].
  (s = cal-filter(s;x.Q[x]) ∨ cal-filter(s;x.¬bQ[x]) ∈ Point(constrained-antichain-lattice(T;eq;P)))
Proof
Definitions occuring in Statement : 
cal-filter: cal-filter(s;x.P[x]), 
constrained-antichain-lattice: constrained-antichain-lattice(T;eq;P), 
lattice-join: a ∨ b, 
lattice-point: Point(l), 
fset: fset(T), 
deq: EqDecider(T), 
bnot: ¬bb, 
assert: ↑b, 
bool: 𝔹, 
uall: ∀[x:A]. B[x], 
so_apply: x[s], 
set: {x:A| B[x]} , 
function: x:A ⟶ B[x], 
universe: Type, 
equal: s = t ∈ T
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x], 
member: t ∈ T, 
top: Top, 
lattice-point: Point(l), 
record-select: r.x, 
constrained-antichain-lattice: constrained-antichain-lattice(T;eq;P), 
mk-bounded-distributive-lattice: mk-bounded-distributive-lattice, 
mk-bounded-lattice: mk-bounded-lattice(T;m;j;z;o), 
record-update: r[x := v], 
ifthenelse: if b then t else f fi , 
eq_atom: x =a y, 
bfalse: ff, 
btrue: tt, 
so_lambda: λ2x.t[x], 
all: ∀x:A. B[x], 
so_apply: x[s], 
prop: ℙ, 
guard: {T}, 
and: P ∧ Q, 
lattice-join: a ∨ b, 
so_lambda: λ2x y.t[x; y], 
so_apply: x[s1;s2], 
uimplies: b supposing a, 
least-upper-bound: least-upper-bound(T;x,y.R[x; y];a;b;c), 
cal-filter: cal-filter(s;x.P[x]), 
subtype_rel: A ⊆r B, 
uiff: uiff(P;Q), 
cand: A c∧ B, 
implies: P ⇒ Q, 
fset-ac-le: fset-ac-le(eq;ac1;ac2), 
iff: P ⇐⇒ Q, 
rev_implies: P ⇐ Q, 
bool: 𝔹, 
unit: Unit, 
it: ⋅, 
exists: ∃x:A. B[x], 
or: P ∨ Q, 
sq_type: SQType(T), 
bnot: ¬bb, 
assert: ↑b, 
false: False, 
rev_uimplies: rev_uimplies(P;Q)
Lemmas referenced : 
cal-point, 
cal-filter_wf, 
fset_wf, 
assert_wf, 
bnot_wf, 
fset-constrained-ac-lub-is-lub, 
rec_select_update_lemma, 
fset-antichain_wf, 
fset-all_wf, 
bool_wf, 
set_wf, 
deq_wf, 
fset-ac-order, 
least-upper-bound-unique, 
fset-ac-le_wf, 
fset-ac-order-constrained, 
fset-constrained-ac-lub_wf, 
fset-ac-le_weakening_f-subset, 
fset-filter-subset2, 
deq-fset_wf, 
fset-member_wf, 
fset-all-iff, 
equal_functionality_wrt_subtype_rel2, 
fset-subtype2, 
fset-subtype, 
subtype_rel_sets, 
strong-subtype-deq-subtype, 
strong-subtype-set2, 
fset-null_wf, 
fset-filter_wf, 
deq-f-subset_wf, 
all_wf, 
iff_wf, 
f-subset_wf, 
iff_weakening_uiff, 
uall_wf, 
isect_wf, 
eqtt_to_assert, 
member-fset-filter, 
eqff_to_assert, 
equal_wf, 
bool_cases_sqequal, 
subtype_base_sq, 
bool_subtype_base, 
assert-bnot, 
assert_of_bnot, 
assert_witness
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation, 
sqequalRule, 
cut, 
introduction, 
extract_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
isect_memberEquality, 
voidElimination, 
voidEquality, 
hypothesis, 
because_Cache, 
cumulativity, 
hypothesisEquality, 
functionExtensionality, 
applyEquality, 
lambdaEquality, 
lambdaFormation, 
setElimination, 
rename, 
setEquality, 
dependent_functionElimination, 
dependent_set_memberEquality, 
productElimination, 
productEquality, 
functionEquality, 
axiomEquality, 
universeEquality, 
independent_isectElimination, 
independent_pairFormation, 
equalityTransitivity, 
equalitySymmetry, 
independent_functionElimination, 
unionElimination, 
equalityElimination, 
dependent_pairFormation, 
promote_hyp, 
instantiate
Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[P:fset(T)  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[s:Point(constrained-antichain-lattice(T;eq;P))].
\mforall{}[Q:\{x:fset(T)|  \muparrow{}P[x]\}    {}\mrightarrow{}  \mBbbB{}].
    (s  =  cal-filter(s;x.Q[x])  \mvee{}  cal-filter(s;x.\mneg{}\msubb{}Q[x]))
Date html generated:
2018_05_22-PM-09_54_47
Last ObjectModification:
2018_05_20-PM-10_12_00
Theory : lattices
Home
Index