Nuprl Lemma : one-dimensional-dM
The free DeMorgan algebra with one generator i is the free distributive
lattice with two generators, i and 1-i. Hence it has exactly six elements.
The proof is somewhat tedious, but we need this lemma so that we
can prove that all paths in a "discrete cubical type"  ⌜discr(T)⌝ are constant.⋅
∀i:ℕ. ∀v:Point(dM({i})).
  ((v = 0 ∈ Point(dM({i})))
  ∨ (v = 1 ∈ Point(dM({i})))
  ∨ (v = <i> ∈ Point(dM({i})))
  ∨ (v = <1-i> ∈ Point(dM({i})))
  ∨ (v = <i> ∧ <1-i> ∈ Point(dM({i})))
  ∨ (v = <i> ∨ <1-i> ∈ Point(dM({i}))))
Proof
Definitions occuring in Statement : 
dM1: 1, 
dM0: 0, 
dM_opp: <1-x>, 
dM_inc: <x>, 
dM: dM(I), 
lattice-join: a ∨ b, 
lattice-meet: a ∧ b, 
lattice-point: Point(l), 
fset-singleton: {x}, 
nat: ℕ, 
all: ∀x:A. B[x], 
or: P ∨ Q, 
equal: s = t ∈ T
Definitions unfolded in proof : 
all: ∀x:A. B[x], 
uall: ∀[x:A]. B[x], 
member: t ∈ T, 
top: Top, 
subtype_rel: A ⊆r B, 
prop: ℙ, 
iff: P ⇐⇒ Q, 
and: P ∧ Q, 
implies: P ⇒ Q, 
rev_implies: P ⇐ Q, 
uiff: uiff(P;Q), 
uimplies: b supposing a, 
dM-deq: dM-deq(I), 
free-dml-deq: free-dml-deq(T;eq), 
rev_uimplies: rev_uimplies(P;Q), 
DeMorgan-algebra: DeMorganAlgebra, 
so_lambda: λ2x.t[x], 
guard: {T}, 
so_apply: x[s], 
true: True, 
squash: ↓T, 
nat: ℕ, 
names: names(I), 
or: P ∨ Q, 
deq: EqDecider(T), 
dM_opp: <1-x>, 
dM_inc: <x>, 
dmopp: <1-i>, 
dminc: <i>, 
free-dl-inc: free-dl-inc(x), 
sq_stable: SqStable(P), 
not: ¬A, 
false: False, 
cand: A c∧ B, 
decidable: Dec(P), 
isl: isl(x), 
f-proper-subset: xs ⊆≠ ys, 
f-subset: xs ⊆ ys, 
deq-fset: deq-fset(eq), 
decidable__equal_fset, 
decidable_functionality, 
iff_preserves_decidability, 
decidable__and2, 
decidable__f-subset, 
decidable__all_fset, 
decidable__assert, 
fset-null: fset-null(s), 
null: null(as), 
fset-filter: {x ∈ s | P[x]}, 
filter: filter(P;l), 
reduce: reduce(f;k;as), 
list_ind: list_ind, 
empty-fset: {}, 
nil: [], 
it: ⋅, 
btrue: tt, 
decidable__and, 
fset-singleton: {x}, 
cons: [a / b], 
ifthenelse: if b then t else f fi , 
bnot: ¬bb, 
decidable__fset-member, 
deq-fset-member: a ∈b s, 
deq-member: x ∈b L, 
bfalse: ff, 
assert: ↑b, 
bool: 𝔹, 
fset-pair: {a,b}, 
bor: p ∨bq, 
mk_deq: mk_deq(p), 
union-deq: union-deq(A;B;a;b), 
sumdeq: sumdeq(a;b), 
names-deq: NamesDeq, 
int-deq: IntDeq, 
eq_int: (i =z j), 
iff_weakening_uiff, 
fset-all-iff, 
fset-add: fset-add(eq;x;s), 
fset-union: x ⋃ y, 
l-union: as ⋃ bs, 
insert: insert(a;L), 
eval_list: eval_list(t)
Lemmas referenced : 
dM-point, 
fset_wf, 
names_wf, 
fset-singleton_wf, 
nat_wf, 
assert_wf, 
fset-antichain_wf, 
union-deq_wf, 
names-deq_wf, 
equal_wf, 
lattice-point_wf, 
dM_wf, 
assert-deq, 
dM-deq_wf, 
assert-deq-fset, 
deq-fset_wf, 
subtype_rel_set, 
DeMorgan-algebra-structure_wf, 
lattice-structure_wf, 
lattice-axioms_wf, 
bounded-lattice-structure-subtype, 
DeMorgan-algebra-structure-subtype, 
subtype_rel_transitivity, 
bounded-lattice-structure_wf, 
bounded-lattice-axioms_wf, 
uall_wf, 
lattice-meet_wf, 
lattice-join_wf, 
DeMorgan-algebra-axioms_wf, 
squash_wf, 
true_wf, 
subtype_rel_self, 
iff_weakening_equal, 
dM_inc_wf, 
member-fset-singleton, 
int-deq_wf, 
strong-subtype-deq-subtype, 
strong-subtype-set3, 
le_wf, 
strong-subtype-self, 
fset-member_wf, 
dM_opp_wf, 
dM0_wf, 
or_wf, 
dM1_wf, 
decidable__assert, 
deq_wf, 
all_wf, 
decidable_wf, 
decidable_functionality, 
iff_weakening_uiff, 
dM0-sq-empty, 
dM1-sq-singleton-empty, 
dM-meet-inc-opp, 
dM-join-inc-opp, 
equal-wf-T-base, 
fset-pair_wf, 
empty-fset_wf, 
sq_stable_from_decidable, 
decidable__or, 
fset-induction, 
sq_stable__all, 
equal-wf-base, 
equal-wf-base-T, 
fset-add_wf, 
not_wf, 
fset-antichain-add, 
fset-extensionality, 
and_wf, 
fset-member_witness, 
uiff_wf, 
member_wf, 
false_wf, 
member-empty-fset, 
member-fset-pair, 
decidable__fset-member, 
btrue_wf, 
bfalse_wf, 
isl_wf, 
btrue_neq_bfalse, 
f-proper-subset_wf, 
member-fset-add, 
it_wf, 
subtype_rel_union, 
unit_wf2, 
f-singleton-subset, 
fset-pair-symmetry, 
f-subset_wf, 
decidable__equal_fset, 
iff_preserves_decidability, 
decidable__and2, 
decidable__f-subset, 
decidable__all_fset, 
decidable__and, 
fset-all-iff
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
lambdaFormation, 
cut, 
sqequalRule, 
introduction, 
extract_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
isect_memberEquality, 
voidElimination, 
voidEquality, 
hypothesis, 
lambdaEquality, 
setElimination, 
rename, 
hypothesisEquality, 
setEquality, 
unionEquality, 
independent_pairFormation, 
applyEquality, 
because_Cache, 
productElimination, 
independent_isectElimination, 
equalityTransitivity, 
equalitySymmetry, 
instantiate, 
productEquality, 
cumulativity, 
natural_numberEquality, 
imageElimination, 
universeEquality, 
imageMemberEquality, 
baseClosed, 
independent_functionElimination, 
intEquality, 
dependent_set_memberEquality, 
addLevel, 
unionElimination, 
inlFormation, 
dependent_functionElimination, 
inrFormation, 
inlEquality, 
inrEquality, 
functionEquality, 
isect_memberFormation, 
hyp_replacement, 
applyLambdaEquality, 
independent_pairEquality, 
promote_hyp, 
axiomEquality, 
int_eqReduceTrueSq
Latex:
\mforall{}i:\mBbbN{}.  \mforall{}v:Point(dM(\{i\})).
    ((v  =  0)  \mvee{}  (v  =  1)  \mvee{}  (v  =  <i>)  \mvee{}  (v  =  ə-i>)  \mvee{}  (v  =  <i>  \mwedge{}  ə-i>)  \mvee{}  (v  =  <i>  \mvee{}  ə-i>))
Date html generated:
2019_11_04-PM-05_31_12
Last ObjectModification:
2018_08_27-PM-01_27_25
Theory : cubical!type!theory
Home
Index